Facebook Instant
The most feature‑rich channel FRVR ships to (context switching, native IAP, friends, leaderboards, tournaments, challenges). Facebook reviews against their platform policies on top of the global FRVR baseline.
Design
Section titled “Design”Social features render through Shield
Section titled “Social features render through Shield”Facebook Instant doesn’t expose player data (names, avatars, friend lists) to the game. Any social UI MUST be rendered via FRVR.shield overlays. Shield receives the data inside Facebook’s context and renders it on top of the canvas; the game never sees raw values. Drawing names, photos, or any player‑identifiable Facebook data inside your own canvas is technically impossible and a policy violation.
Integration
Section titled “Integration”Don’t call FBInstant directly
Section titled “Don’t call FBInstant directly”The game SHOULD NOT call any FBInstant.* API directly. The FRVR SDK wraps everything (init, context switches, sharing, IAP, ads, leaderboards, social) and adds analytics tagging plus consent gating. Going around the wrappers breaks reporting and consent.
Context switches go through FRVR modules
Section titled “Context switches go through FRVR modules”- Tournaments →
FRVR.tournaments - Challenges →
FRVR.challenges - Friends and social posting →
FRVR.social - Group / official page CTAs →
FRVR.community
Auth is implicit
Section titled “Auth is implicit”Facebook signs the player in automatically.
Internationalization
Section titled “Internationalization”Use FRVR.locale.get(). The global rules apply.
Monetization
Section titled “Monetization”- MUST use Facebook Payments via
FRVR.iap. External payment processors are not allowed. - MUST consume consumables via the FRVR module. Unconsumed purchases auto‑refund after a grace period.
- MUST use
FRVR.ads. The channel bundle picks Facebook’s ad SDK. - Interstitial frequency is enforced by FRVR’s throttling and Facebook’s policy.
Cross‑promotion
Section titled “Cross‑promotion”- Cross‑promotion to other Facebook Instant Games MUST go through
FRVR.navigation. Hard‑linking another game’s URL is not allowed.
Privacy
Section titled “Privacy”- MUST NOT persist Facebook IDs or names outside cloud storage.
- MUST NOT persist the FRVR player ID outside cloud storage, and MUST NOT send it to
FRVR.tracker(or any analytics) as an event or user property. - For approved third‑party analytics, deletion webhooks MUST be configured with FRVR before going live (see Privacy › External calls).
- Facebook player data is subject to Facebook’s Platform Terms, including annual penetration testing, named data‑protection contacts, and breach‑notification timelines. Standing those up per studio is expensive. For this reason, Facebook Instant games SHOULD use
FRVR.cloudStorageandFRVR.trackerexclusively. FRVR maintains the compliance posture, so the studio inherits it.
Stability
Section titled “Stability”Global budgets apply, plus Facebook’s performance recommendations:
- Initial load SHOULD be < 5 MB (stricter than the global 15 MiB).
- Total bundle SHOULD be < 50 MB.
- MUST work in the in‑app browser on both Android and iOS Facebook apps.
Trust & safety
Section titled “Trust & safety”- MUST comply with Facebook Community Standards and Instant Games policies.
- MUST NOT target under‑13 players.
- UGC requires a moderation plan (Shield + report flow).