Log in to Facebook.com and click the Games bookmark on the left, or visit https://www.facebook.com/games/instantgames.
Make sure your app is in the Games category. The Instant Games product will not show up for apps outside this category.
When it comes to deciding where to store your information, you have several options:
Have a third-party backend your game communicates with via
EventSource. This will mean more flexibility, but will also incur hosting costs proportional to your game's audience.
Use our SDK-based solutions, which enable server-side functionality out of the box. For storing player-specific information, use our
player.setDataAsync methods. For leaderboards, see our Leaderboard API guide.
Third party services like PlayFab provide fully cross-platform backend-as-a-surface platforms built to support LiveOps, matchmaking and analytics. Browse more tools.
The minimum system requirements for playing instant games are iOS 9.0 or Android 5.0.
You should make sure to call
FBInstant.context.shareAsync() method contains an
intent parameter that accepts values like
'SHARE', etc. As of version 4.0, this parameter does not serve a specific purpose. It was added to future-proof the SDK and it will provide user-facing changes in the future.
When you're challenging another player in the thread for the first time, there's no SDK method to retrieve information about the person being challenged. We recommend using a placeholder name like "opponent" until the second player responds to the invite. Once the other player has accepted the invitation to play, you can use
FBinstant.player to fill in their picture and name.
The most common cause for a bot not receiving webhooks is misconfiguration in the app. Visit our Bot Setup page for a full guide on how to set up your game bot.
Check your Developer Dashboard to ensure that:
messaging_game_playsevents in the Messenger section
If you're getting errors in response to the Graph API send calls, it means one of the following situations is happening:
-You're trying to send messages outside of the per-user limit of 5 messages over 10 days
-You're trying to send messages to a user who has deleted, blocked or muted your bot
-Your app is in Development Mode and you're trying to send messages to people who don't have an Admin or Developer role in the app
For more information, review the Send API documentation.
If you're following our Quickstart or our Test, Publish, Share guides, you must be familiar with our concept of the Embedded player. It's a way for you to test your Instant Game running from a local HTTP service in your computer, linked to all live functions of the Instant Games SDK.
Sometimes when you try this approach, your game can be stuck in loading. Sometimes no message will be displayed in the browser's developer console, or a message will be displayed saying
Failed to execute 'postMessage' on 'DOMWindow'. These stem from the same type of error, most commonly caused by your local server refusing to serve assets because of a certificate issue.
If that's the case, navigate to the root of your local server (usually
https://127.0.0.1:8000) and follow your browser's instructions in accepting certificates, or adding a security exception for this website. Once you've done that, go back to the Embedded player URL and everything should work as normal.
We can issue payouts to your bank or PayPal account (does not apply to Audience Netowrk users).
You will need:
Government agencies use tax ID numbers to identify both individuals and businesses when assessing any taxes required by law. Where you live and how your run your business factors into which tax ID numbers you'll need.
Payout Account Admins have the ability to edit company and financial information, while App Admins and Page Admins have access to both app and page-level features, but cannot edit financial information.
To update your payout account and financial information, you must be the Financial Admin of your payout account.To update your account information:
Please note, it may take a few days to finalize any changes you make to your company or financial information. Additionally, your ability to receive your payout may be affected if you edit any info before a payment is scheduled.
You must be the Financial Admin of your payout account to modify or add new users. To update or add someone as an admin:
Facebook only sends payments in United States dollars (USD). If your bank requires an intermediary or correspondent account in order to receive USD payments, please include the following:
Facebook issues payments twice a month:
Facebook will issue payments approximately 21 days after each bi-monthly period. Visit the Facebook Developer Payments Terms for more information.
Google Play payments will be made approximately 45 days after each monthly period.
To check the status of your payment:
If the status shows "Rejected/Pending Payment", please confirm that your Payout Account Detail Information is accurate. Additionally, you can also contact us by clicking on the "Need Help?" button within the Audience Network Dashboard for further information.
An invoice shows your monthly earnings over the course of a month. Your account's invoice is generated by our finance team before payment. The account number on this invoice is an internal number for our records.
A remittance statement shows the amount paid by Facebook to your account for your earnings over the course of a month. When our bank initiates the payment to your bank account you will receive a remittance statement around the third week of the month.
In order to review your current balance, please view your daily reports and payout reports to calculate your current balance via our payments API. You can download daily reports for the previous 45 days.
When you complete a sale on our platform, Facebook will credit the proceeds from that sale, less our service fee, to your Developer Balance. Facebook will earn a 30% service fee, plus any applicable sales tax or VAT, in connection with each Facebook Payments transaction on our platform. Review our Payments Terms for more details.
Payments are transferred to your linked account when you accumulate a minimum of $100 in revenue. If your payment balance is less than $100 for any given payment period, payment will be rolled over to the next payout cycle. Rollover will continue until your payment balance reaches $100.
Escalating the issue elsewhere or reopening an additional ticket will complicate your existing inquiry with our Payments Operations team. We strongly advise all partners to channel followups through the existing communication channel you have with the Payments Operations team.
To verify you're the Financial Admin of your payout account, please visit the Facebook Developers site.
Facebook values the trust you place in us and takes the necessary steps to prevent unauthorized access to your information. We store your financial information on secured servers and take extra steps to protect this info from hackers.
While we may share your contact or other profile information according to our data policy, no banking or PayPal information is shared except as necessary when making payments or complying with legal requirements.
Facebook may store your information to prevent you from having to re-enter it for future payouts. Additionally, should you request that Facebook makes changes to your payment information, we may retain certain evidence supporting these changes (example: bank information).
If you're experiencing issues or have any payments questions, let us know and we’ll work with you to make sure the problem is addressed.
If you haven't received your payment by the 21st of the month, please check the following before contacting support:
If you need help updating the information in your account, please visit our Payments help page. When financial information is updated, we place a 10 day hold on your account before processing a payment. We may be able to remove this hold more quickly if you send us proof of ownership of the bank or PayPal account. For proof, you can send us a bank statement, a bank letter on the appropriate letterhead, or a screenshot from PayPal.
If you are the admin of the account, you can view the Financial Entity associated with your account in your Business Manager Dashboard. If you'd like to be added as a financial account administrator, ask a current administrator for your organization. Once you're Facebook friends, they can add you directly on the Facebook Developers Site.
We don't have a notification system, but we do include refund information in the remittance pdf we send every month.
Reimbursements are paid monthly, but the payout release period is 60 days, i.e., January's payout activities will be paid out in March.
To restrict game access to a custom list of countries:
During submission for instant game app review, you must provide an Apple Developer team ID in accordance with Apple's App Store Review Guidelines. This enables distribution of your game on iOS. Using an invalid or expired Developer team ID may lead to your game being removed.
You can find your team ID by logging into your Apple Developer Account.
Developer game submissions and launches are limited to one per week. You can submit and publish two games over the course of two weeks. One game can be reviewed by Facebook per week, and one game can be published per week, once it has been reviewed and approved. We created this limit to help you be successful as you launch your game.
To learn more about the review process, see the Submitting for Review section in the Launch Checklist.
The Review tab of the developer dashboard allows you to submit your game to our review team.
You have to submit your game for the following reviews:
You need a Monetization Manager to submit your game for:
It typically takes our Developer Operation team less than one week to process your submission.
The purpose of each review is to ensure quality and integrity standards are met for on-boarding to the Instant Games platform.
Before submitting for review, make sure to check the Release guidelines.
If your current submission requires additional information, you will have 30-days from receipt of the request to resolve and resubmit for review. During those 30-days you may be asked to provide more information by the App Review team. Please note that the 30-day window will not reset with each resubmission during this period.
Our review team will use the instructions you provide to test your app's Facebook integrations.
If you feel our reviewer has incorrectly rejected your app, you should resubmit for review with updated review instructions that provide more info for the reviewer.
The review process is the best way to communicate with your reviewer by updating your notes to address the feedback you've received.
For App Review, game submissions must linked to a business (verified or unverified).
For Global & Country Launches, the app's linked business must be verified to launch the game into our discovery surfaces (game list, etc). The game will still be playable after review approval.
You can always find the status of business verification and contracts and steps to take in the business verification panel found in the app review tab of the app dashboard. We will send you notifications throughout the process to let you know what action is needed.
If you already have a Business Manager account, we recommend that you connect the app to the existing Business Manager.
If there are multiple Business Manager accounts that belong to the business, we recommend determining the rationale for multiple Business Manager accounts and aligning the app with the most appropriate Business Manager. If the business has a credit line set up through the Business Manager, we recommend that you connect the app with the one that has the credit line.
Facebook app settings provides a way for people to request your app to delete the data it has from Facebook about them.
In response to the user request, you should acknowledge receiving a user data deletion request through the technical means we provide, and provide a link and a confirmation number. The link and confirmation number must give the user access to a human-readable explanation of the status of their request, including a legitimate justification for any refusal to delete (where legitimate will vary based on jurisdiction and our case-by-case interpretation of our policy as it relates to their stated reasons).
To parse and respond to the request, you should implement a "data deletion request" callback. Your callback must use the secure HTTPS protocol and must be listed in the Data Deletion Request URL field of your app's Instant Games > Details page in the app dashboard.