Skip to content

FAQ

Either you forgot to call FRVR.init(), or you’re trying to use a module that the current channel doesn’t provide (e.g. FRVR.shield outside of Facebook Instant). Use the can… / isSupported guards described on each module page.

Why does FRVR.cloudStorage not exist right after init()?

Section titled “Why does FRVR.cloudStorage not exist right after init()?”

Cloud storage is built during bootstrapper.complete() so it can use the channel’s auth. Call it in (or after) your bootstrap chain.

Provider inventory is finite; isReady() returning false after one impression is normal. Most providers need a short time to refill. Re‑check isReady() on a timer in your UI; it becomes true again automatically.

Tracker events don’t show up in my dashboard

Section titled “Tracker events don’t show up in my dashboard”

Three likely causes:

  1. The player hasn’t granted consent, and your events are being queued (up to 100) or dropped.
  2. You’re in dev environment — events go to a separate staging sink.
  3. gameId isn’t set, so events arrive unattributed.

Turn on FRVR.logger = console before init() to see event dispatches.

I’m on Facebook Instant — do I need FRVR.auth?

Section titled “I’m on Facebook Instant — do I need FRVR.auth?”

Yes, if you want cloud storage, tournaments, social, or leaderboards. The Facebook Instant channel signs the player in automatically, so FRVR.config.auth = {} is all you need.

Use the dev channel, or mock the global __tcfapi function. The SDK’s e2e demos show a working mock.

English and 简体中文 — switch using the locale selector at the top of any page.

Yes. A machine‑readable index following the llmstxt.org convention is published at /llms.txt. It lists every page on this site with a short description, so you can point a model (Claude, GPT, Gemini, etc.) at that URL to seed it with the full table of contents before asking SDK questions.