Managing Development Cycles

In most cases developers will follow a common process to create new apps and release them to the public. This guide will walk you through some of the features available on the Facebook Platform to help you manage the development, testing, staging and production release of your apps.

Before getting started developing your app, you may want to take a look at our Getting Started documentation. These docs will give you an overview of the App Dashboard and can be found in the Further Reading section below.

The guide is separated into the following sections:

  1. Develop
  2. Test
  3. Soft Launch with Geo-Restriction
  4. Full Launch

1. Develop

Newly created apps are set to development mode. Development mode gates access to your app to prevent any features from leaking to the public until you are ready to go live.

While an app is in development mode:

  • it will be hidden from the App Center
  • it is automatically approved for all login permissions and features (although you still must implement Facebook Login to request any permissions from your app's users)
  • it can only access the data of Test Users and Users who have a role on the app
  • any data created with the app will only be visible to Test Users and Users who have a role on the app (but the data will become publicly visible once the app is switched to live mode)

You can switch between development and live modes in your app's App Dashboard:

Next you should set up access to your app via Roles. Users that have been placed in a Role will have access to your app, as designated by the specific roles below.

The Facebook App Dashboard supports 4 different roles:

  • Administrator: Administrators have full access to the app, including the ability to delete the app. This should only include trusted employees that will maintain your app.
  • Developer: Developers have access to all settings required to create and maintain your app. They do not have the ability to delete the app. This should be the default role for most employees that need access to configuration settings.
  • Testers: Testers are able to view and use your app while in development mode but cannot view any of the developer settings and do not have access to the App Dashboard. Note that testers are not the same as Test Users, which are temporary Facebook accounts that you can create to test various features of your app. See Step 2 for more information on Test Users.
  • Analytics Users: These users can access your app's Insights (our analytics package) but cannot access any of your app's configuration settings. This role should be granted to app stakeholders who should only have access to analytics.

You can configure and maintain your roles in the App Dashboard under the Roles tab:

Users can be added by specifying their name (if they are your friend), email address or Facebook User ID. Users are not required to be friends in order to be added to a Role, but they must have a Facebook developer account.

Now that your basic settings access have been configured, you can proceed with the development of your app.

2. Test

Once you have completed enough functionality in your app that you are ready to test your integration with Facebook, make sure to use Test Users to go through your end to end flows and social features. Test Users are not real Facebook users and cannot interact with real Facebook users, allowing you to test features of your app without risk of interactive with the public. They can be created en masse and allow you to create multiple configurations of social graphs that may be useful in your testing.

You can create Test User directly within the App Dashboard in the Test Users tab by clicking the Add button:

This will open a dialog where you can select how many test users you want to create, and gives you the option to authorize the app for each of them.

Once created, Test Users will appear in the Test Users tab.

In this interface you can make Test Users friends with each other, add them to other apps you are working on, or delete them in bulk.

If the App Dashboard interface is not sufficient for your needs or you would like to create more than 4 users at a time you may want to take a look at our Test User API.

Additionally, you can invite real Facebook users to test your app. For a Facebook user to be eligible as a an app tester, the user must have a Facebook developer account.

3. Soft Launch with Geo-Restriction

Now that your app is feature complete and has finished your rounds of QA, consider soft launching your app in a few specific countries before releasing it to the world. Alternatively you may have age specific content within your app and want to restrict it to specific age ranges. You can configure these restrictions in the App Dashboard under Settings > Advanced > App Restrictions:

By enabling Country Restrictions and selecting countries in the Allowed Countries dropdown, you can restrict access to users that are only in the countries you have specified. If no countries have been added to this list, your app will be available worldwide.

Next, to take your app live for the users in the countries you selected, change your development mode from 'Off' to 'On' as mentioned in Step 1.

By using this feature you can test how your app performs against a limited set of users in a specific location, allowing you to test and tweak your app before your full launch.

4. Full Launch

Now that your app is ready for launch there are a couple of final steps you should consider to take your content live.

  1. Make sure to remove any country restrictions you specified in Step 3.
  2. Make sure you change your development mode so that the app is live from Step 1. At this point your app can now use live data.
  3. If you wish, you can submit your to the App Center. App Center is a great place for users to find great quality apps and will help you increase organic distribution to your app. To get your all listed in App Center you will need to fill out your app description and images assets (including screenshots), then submit them for review. For more information on how to do this, please read the App Center Tutorial and App Center Guidelines documentation, which will walk you through the steps you need to complete before submission.
  4. You may want to consider adding localized assets for your app into App Center. This will allow you to provide a translated App Detail Page in App Center for users that are viewing in other languages than English. For more information please read the App Center Internationalization documentation.