As of October 29, 2018, the following is required:
Before submitting your instant game, make sure it meets the criteria below.
Have visibility set to Public in the App Review tab
Have a Namespace specified in the Settings tab
Have all assets uploaded as detailed in the Game Setup section
Have an initial download size of no more than 3MB (or 1MB for lightweight games)
Provide real loading progress via
Respect the physical mute switch on Mobile devices (we recommend using the WebAudio API)
Use of SDK 5.0 or later, with all Custom Updates being sent via templates
Gracefully handle interruptions by subscribing to
FBInstant.onPause. The game should pause all sounds and implement a mechanism to resume the game (e.g., a "Resume" button)
Be in compliance with all posted Facebook Developer Policies
Be linked to a business for App Review. The business must be a verified business in order to launch the game
Feel like a native game (it should not scroll, zoom or pan like a webpage)
Include branding in its name (e.g. "Messenger"; "Facebook")
Share an App ID with any other live applications (e.g., a Facebook Web game)
Inline the Instant Games SDK, or use a version other than the one at connect.facebook.com
Send more than one Game Update per context per session
Show third-party ads
Show any payments functionality on platforms where payments are not supported
Call methods other than the following before
startGameAsync has resolved:
Specifically for iOS users, your game should not:
Cross promote other instant games (including via the bot)
Allow sending gifts to friends
Show any payments functionality or any reference to their availability on other platforms
Be named the same as the game
Be correctly associated with your instant game and respond to
Use a persistent menu to provide common actions, such as launching the game
Set default action to use
game_play on custom updates, so that the entire image takes you into the game
Provide relevant, timely and valuable updates to the players.
Be used to announce new features or content
Make use of social updates like turn reminders, tournaments results, timed rewards and challenges
Optimize time of day for message sends per user, being sensitive to timezones
Make use of entry point data on play buttons to load the game in contextually relevant ways
Make sure your players have the right incentives to open the game via a bot message by using the message payload to reward them in-game with something valuable
Give the user control - for example, by confirming they they would like to be notified, and with what frequency
Have passed App Review for Messenger with the events and permissions specified in the Bot Setup section
Follow the general best practices for Messenger Bots
Send a message immediately after the player closes the game
Send messages to re-engage the player with no context (e.g.: "Come back to the game now!"). Instead prefer re-engagement messages with rich context (e.g.: "Your scout has come back with more info")
Adopt the voice of other Facebook users or mislead players to believe their friends are communicating with them
Continue to send a user bot messages when they repeatedly do not engage. Policy limits will apply and block your message from being sent. The current limit is 5 messages in the 10 days after the last game play session
Use any other value than
Use the Messenger Platform's Broadcast API
Link to any app store
The Review tab of the developer dashboard allows you to submit your game to our review team. Ensure the game complies with all relevant policies before submitting.
During submission, you must provide an Apple Developer team ID in accordance with Apple's App Store Review Guidelines 4.7. This enables distribution on iOS.
Do not include the instant game in-app purchases option in your submission if your game doesn't have an in-app purchasing feature. Review our In App Purchases page for more info.
Review should take under a week to complete. Once a game is reviewed, it does not need to be reviewed again unless it is found to be in violation of our developer policies.
You can track the status of your game on the Launch Status tab of the developer dashboard.
A game can be launched either globally or by country. Selecting the Select Countries option to choose individual countries.