Instant Games

Testing

Updated: Mar 25, 2026
Copy for LLM
Testing a Zero Permissions game involves verifying that overlay views render correctly, that network requests to your servers succeed, and that all social features work as expected. This guide covers testing in both the Facebook player (production-like) and a local development environment.

Setting Up Zero Permissions

Before testing, your app must be configured for Zero Permissions. If you have not done this yet, follow the setup steps in App Onboarding and Migration.

Testing in the Facebook Player

The Facebook player is the production environment where your game runs for real players. Testing here gives you the most accurate results.

New Apps (Not Yet Launched)

If your app has not been published yet and is marked as Zero Permissions, all test sessions automatically load in the Zero Permissions environment. Simply upload your bundle and click Play on the Web Hosting page to test.

Existing Apps (Already Live)

If your app is already live with real players, you can test your Zero Permissions bundle without affecting production traffic:
  1. Go to Use Cases > Customize “Launch a game on Facebook” > Web Hosting.
  2. Upload your Zero Permissions-compatible bundle.
  3. Toggle Network Enabled Zero Permissions Settings at the top of the page.
  4. After the platform scans your bundle, click Play in NEZP to test.
  5. Use the debugging tool to troubleshoot any issues.
No production users are affected until you explicitly set a rollout percentage. See the Existing Apps Migration section for the full rollout process.
Testing for your existing app

What to Test

Focus your testing on areas that behave differently under Zero Permissions:
  • Overlay views — Verify that player names and photos render correctly in your overlays. Test with multiple players to confirm social overlays (friend lists, leaderboards) populate as expected.
  • Network requests — If your game communicates with external servers, confirm that requests succeed. Check the browser console for any Content Security Policy (CSP) errors.
  • Social features — Test getConnectedPlayersAsync(), context switching, sharing, and invites.
  • SDK v8.0 compatibility — Ensure your game does not call removed APIs (getName(), getPhoto() on player objects). These will fail silently or return undefined under Zero Permissions.

Local Development Testing (Embedded Player)

For rapid iteration, you can test your game locally using the embedded player. This avoids the upload-test cycle but has some limitations — see Important Notes below.

Setup

  1. Set up a local HTTPS server for your game files. Pass the --cors flag to enable cross-origin requests, which the embedded player requires:
    http-server --cors --ssl -c-1 -p 8080 -a 127.0.0.1
    
  2. Make sure your game loads SDK v8.0 or later for Zero Permissions support:
    <script src="https://connect.facebook.net/en_US/fbinstant.8.0.js"></script>
  3. Before starting development, open https://localhost:8080 directly in your browser and accept the self-signed certificate security warning. The embedded player will not load your game if the certificate has not been trusted.
  4. Configure the embedded player in the App Dashboard to point to your local server URL.
  5. Create overlay views and test your game functionality.

Important Notes

  • CORS policy workaround required. The embedded player enforces local network access checks that may block your game. In Chrome, go to chrome://flags/#local-network-access-check and disable “Local Network Access Checks” to allow the embedded player to load your locally hosted game.
  • Debug mode is not available. The built-in debugging tool is not compatible with the embedded player. Use your browser’s DevTools instead.
  • Overlay view behavior may differ. Some overlay view features may behave slightly differently in the embedded player compared to the full Facebook player. Always do a final round of testing in the Facebook player before going to production.

Debugging

The platform includes a built-in debugging tool with a JavaScript console and overlay view inspector. Enable it in the App Dashboard and look for the debug icon (wrench and screwdriver) in the bottom-right corner of your game.
See Debugging Tool for setup instructions and usage details.

Next Steps