Build and Test

This document outlines the basic development and testing process for apps created on Meta for Developers. It also describes tools and settings available in the App Dashboard that may help you during development.

General Process

The development process will vary depending on your app's needs, but the basic flow begins with reading the documentation for each of the use cases, products, SDKs, and APIs that your app will rely on. All of our products are showcased on, and all of our documentation can be found at

Once you have identified and read any relevant documentation sets, the next step is to make changes to your app's codebase and configure any App Dashboard settings that may be required by the use cases, products, SDKs, and API calls that you are implementing. If other people will be helping you develop and test your app, you can assign them app roles so they can configure app settings and help test Graph API integrations.

Finally, to verify that you have implemented everything correctly, you can test your app using your own Facebook developer account or with test users that simulate real Facebook users.

As a starting point, most Facebook apps use the Graph API to get data in and out of Facebook. Graph API endpoints require permissions. Since getting data in and out of the Graph API is a common action, we have a set of SDKs to make calling Graph API endpoints easier. So, many developers start with those four doc sets.

App Use Cases

When you first create an app, you must choose a use case. Use cases determine the products that you will be able to add to an app and which permissions and features can be requested for approval through the App Review process.

For example, when you select Facebook Login as the main use case for your app in the creation process, you will then be able to add secondary use cases with associated permissions and features. Each use case has its own set of permissions, features, and APIs to choose from. When you add a secondary use case, you’ll be taken to the Configure page in the App Dashboard where you can configure the permissions, features, and APIs associated with this use case.

App Types

If you are creating an app that does not use a use case listed in the app dashboard you will select Other where you will then choose the type of app you are creating.

App types determine the products that can be added to an app in the App Dashboard and which permissions and features can be requested for approval through the App Review process.

Learn more about app types.

App Modes

Your app will be in one of two App modes, Development and Live. App modes apply to non-business apps and determine which permissions and features your app can use, and who can use your app.

Apps in Development mode can be granted any permission, but only from app users who have a role on the app itself. In addition, all features are active, but only for app users who have a role on the app.

Apps in Live Mode can be granted permissions by anyone, but only permissions that have been approved through the App Review process. Similarly, features are active for all app users, but only features approved through App Review.

All newly created non-business apps start out in Development mode and you should avoid changing it until you have completed all development and testing.

Note that:

  • App types also affect which permissions are available to an app. For example, user-related permissions are not available to Business apps, and business-related permissions are not available to Consumer apps. Apps that have chosen the Business app type do not have app modes at all and instead rely on access levels, which behave similarly.
  • Apps requesting advanced access for permissions may have to be connected to a verified business.

Learn more about app modes.

App Roles

Before your app is published, only people who have been granted a specific role on the app, such as developer or tester, can access it so they can aid with the development and testing process.

Learn more about app roles.


The Testing page contains all the use cases for your app and the associated permissions you have requested access to. You can also find the testing requirements for App Review.

You should use the Graph API Explorer or create test user accounts to make the required API test calls before you submit for App Review. Some permissions don’t require testing before App Review, but we recommend testing all permissions to ensure the app works as intended.

Once all required API test calls are complete, you are ready for App Review.

Keep in mind that:

  • Test API calls can take up to 24 hours to appear on the Testing page.
  • Test API calls are only valid for 30 days and must be completed within the 30 days before you submit to App Review.

Test Users

Test Users are test accounts that you can sign into in order to simulate real Facebook users when testing your app. Test users cannot interact with real Facebook users and any content or interactions generated by test users are only visible to other test users and anyone who has a role on your app.

Learn more about test users.

Test Pages

Test pages are pages created by test users that you can use to simulate real Facebook Pages when testing your app. Test pages are not discoverable by real Facebook users and can only be interacted with by other test users, or by people who have a role on your app.

Learn more about Test Pages.

Data Deletion Callback

If you have implemented a use case, or if your app is typed as either a Consumer or Instant Game app, you must implement a Data Deletion Callback before it can be published. We will call your app's data deletion callback URL anytime one of your app users requests that you delete their data.

Learn more about the Data Deletion Callback.

Next Steps

Once you have completed app development and are ready to publish your app, you can begin any processes that may be required to successfully release your app.