App Development

These documents explain how to register, configure, and develop your app so you can successfully use our products, APIs, and SDKs.

The general development cycle involves:

  1. Registering your app
  2. Selecting a scenario and adding products
  3. Adding Roles
  4. Testing in Development Mode
  5. Submitting for App Review
  6. Switching to Live Mode

Repeat the Development Mode testing and App Review steps whenever you add new permissions, features, or products, or whenever you upgrade to a new version of an SDK or API.

Register

In order for your app to access any of our products or APIs, you must first convert your Facebook account to a Developer Account and register your app using the App Dashboard. You can do this at developers.facebook.com. Registration creates an App ID that lets us know who you are, helps us distinguish your app from other apps, and provides a way for you to supply any additional materials we may need when you set up specific products or request access to sensitive APIs.

Once you register, click the Settings link on the left side and provide any additional information you may have about your app. Most of the fields are self-explanatory, but here's additional information about a few of the fields.

App ID

When you register, we will generate a unique App ID for your app. You will use this a lot, since it must be included when making any calls to our APIs. All of our SDKs provide a way for you to easily set this so it will automatically be included with any API calls.

Platform

This lets us know how your users access your app — for example, on a mobile device or a website. This allows us to show you platform-specific products and features later.

Privacy Policy and Terms of Service

These should be URLs to a privacy policy and terms of service that apply to your app's users. Imagine that you are a user of this app and you want to know how the app developer will protect your privacy and what terms you have to agree to — you would look for a privacy policy and a terms of service. Enter their URLs here. If you are using any products, login permissions, or features that require App Review, we will review the content at these URLs.

Scenarios and Products

After you register your app, you have the option of choosing one or more scenarios. Selecting a scenario adds the products related to the scenario. After you confirm your scenarios, the added products appear on the left side and the product documentation appears on the right side.

You can also skip the scenario section and add additional products.

Roles

Once you've registered your app, you can assign roles to anyone with a Developer Account who will be helping you with development. Roles allow you to control access to your app and its settings. When you assign a role to a user with a Developer Account, the user will receive an invitation which can be accepted or declined. To configure the roles, select Roles in the left navigation. For more details about each of the roles, see App Security.

AbilityAdministratorDeveloperTesterAnalytics User

Modify app settings

Reset app secret

Remove app

Modify app roles

Test login permissions, features, and products

Create test apps, users, and pages

View app insights

Development Mode

When you first register your app it will be set to development mode. Development mode limits app access to users who have a role on your app. You should do all of your development and testing while your app is in development mode.

While in development mode, your app:

Any data generated while in development mode can only be seen by users who have a role on your app. However, once you switch your app to live mode, that data will be visible to anyone who is able to use your app.

Since apps in development mode have access to all login permissions, features, and products, you should capture any screencasts for App Review while your app is in development mode. Note that Test Apps are always in development mode, so if your app is in live mode and you need to capture screencasts of new functionality, you don't have to switch it back to development mode. Instead, create a test app from your live app and use the test app when capturing screencasts, then include the test app ID in your submission details.

App Review

Before you can switch your app to live mode, you may have to go through App Review. The process allows us to verify who you are and how you will be using the data that your app will be accessing.

Business Verification

Business verification is a process that allows us to verify your identity as a business entity, which we require if your app will be accessing sensitive data. If you are a developer for a business and your app has been approved for permissions and features related to the products below, you will receive an alert in your App Dashboard Inbox asking you to verify your business.

Learn more about business verification.

Individual Verification

Due to coronavirus (COVID-19), we have temporarily paused Individual Verification to focus our reviewers on efforts that help keep people informed and safe. We know this review step is important and will resume it as soon as we can. Visit our blog post to learn more about this issue.

Individual verification is a process that allows us to verify your identity as an individual as opposed to a business, which we require if your app will be accessing sensitive data. If you are a non-business developer and your app has been approved for permissions and features related to the products below, you will receive an alert in your App Dashboard Inbox, giving you the option to complete individual verification instead of business verification.

Learn more about individual verification.

Tech Provider Amendment

If you are a business that will use the Facebook APIs and data to serve other businesses, during Business Verification you will be asked to provide an email address for a Tech Provider Signatory. We will email the signatory a link to our Tech Provider Amendment, which contains heightened provisions on data use policies. The signatory must sign this amendment, which can be done through Adobe Sign.

Live Mode

After you have tested your app and, if necessary, completed App Review, you can switch it to live mode. Switching your app to live mode does not make it automatically discoverable through Facebook.com or any search engines. If you want your app to be discoverable, you must market it yourself or, if it is a game that uses Facebook Login or is a game on Facebook.com, manually add it to the App Center.

When in live mode, your app:

  • can access User data from anyone who has installed it and granted it requisite permissions
  • can be granted any login permissions, or access any features or products, that it has been approved for in App Review
  • if your app uses the Marketing API and has been approved for the Ads Management Standard Access feature in App Review, it will have Standard Tier access

If you switch your app to live mode before receiving approval for any requested permissions or features, you will lose access to all data including that of your app, test users, test pages, and app developers or app admins.

Since you can't grant unapproved login permissions to live apps, you won't be able to test or capture any screencasts of new functionality once your app is live. Although you can switch your app back to development mode, we recommend that you create a test app from your live app instead, and use the live app to test and capture screencasts.

Inactive Apps

An app will be deemed inactive if ALL of the following conditions are met:

  • no users have logged into the app in the last 90 days
  • the app has made no calls to either the Graph or Marketing API in the last 90 days
  • the app has received no webhook notifications in the last 90 days

Once an app has been deemed inactive, all access tokens associated with the app will be invalidated and the app will be prevented from accessing the Graph and Marketing APIs until access is restored.

Developers with an "Admin" role on the app who log into the App Dashboard will be given the option to restore the app's access to the Graph and Marketing APIs. Restoring an app will:

  • automatically upgrade it to the latest version of the Graph and Marketing APIs
  • reenable webhooks notifications and upgrade them to the latest version

Old access tokens will still be invalid so new ones must be generated. Also, any permissions that were removed from the app due to disuse while it was inactive must be reapproved through the App Review process.

Remove an App

When you remove your Facebook App from the platform the following will occur:

  • all developers, regardless of role, are prevented from accessing the app.
  • the app is hidden from public view and search results in the App Center.
  • User access tokens generated for people who have logged into your app with their Facebook account are invalidated.

You may wish to switch your app to Development Mode instead.