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. Adding Roles
  3. Testing in Development Mode
  4. Submitting for App Review
  5. Switching to Live Mode

You can then repeat steps 3 and 4 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 just 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, locate and click the Settings link 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 easily set this so it will automatically 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.

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.

AbilityAdministratorDeveloperTesterAnalytics User

Modify app settings

Reset app secret

Delete app

Modify app roles

Test login permissions, features, and products

Create test apps, users, and pages

View app insights

When you assign a role to a user with a Developer Account, the user will receive an invitation which can be accepted or declined.

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:

  • is automatically approved for all login permissions, feature, and products
  • can only be installed or used by users who have a role on your app
  • can only be granted permissions by users who have a role on your app
  • can only access User, Page, or Group data from users who have a role on your app, or data from Test Users and Test Pages.
  • will be hidden from the App Center

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.

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 manually add it to the App Center.

When in live mode, your app:

  • can be installed and used by anyone who has access to it
  • can access data from anyone who has installed it and granted it requisite permissions
  • cannot be granted any login permissions, or access any features or products, that is has not been approved for

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.