Similar to Test Users, Test Apps let you quickly create Facebook App IDs for use during the development, testing, staging or QA phases of the app development lifecycle.
Test Apps are like regular apps in that they have their own App ID and independent settings, but they offer a number of advantages for use during pre-production:
Test Apps are 'children' of a production app and can be managed within your production app's Dashboard.
To create test versions of your production app, do the following:
In the Dashboard of your production app, click the down arrow next to the app name in the left navigation pane.
Click + Create Test App
Follow the instructions.
The test app will be created with a snapshot of your production app's settings. After this, you can independently edit the settings of your test app without affecting your production app.
Note: Test Apps have fewer settings available to manage than an production app. This is because some settings are not revelant to apps which are never destined to be used by the public - for example, as test apps cannot be listed in App Center, there's little need to upload App Center image assets.
To remove a test app, do the following:
In the Dashboard of your production app, click the down arrow next to the app name in the left navigation pane, and click on the name of the test app that you want to remove.
In the left navigation pane, click Settings > Advanced.
In the lower left corner of the Dashboard, click Remove App.
Note: If you remove your production app, all the test apps will also be irreversably removed.
A common piece of feedback we've heard from developers is that, as your team grows, it becomes harder to manage who has access to what across your production app, and the other app IDs you use in pre-production. To help with this scenario, we're introducing two additional features alongside Test Apps:
If a person is an Admin on your production app, they are automatically also an Admin of your test apps. This makes it easy for your most trusted people to manage your fleet of test apps. Within the test app's Role tab, Admins inherited from the production app will be shown, but cannot be removed.
Test apps retain their own editable Admin role. If you want one of your engineers to only have edit access to a subset of your test apps, you may add them to the Admin role for the test apps you'd like them to manage.
As Test Apps will always remain in Development Mode, they have a simplified role hierachy; they only have the Administrator and Tester roles. As with production apps, Testers can login to the app but not see or edit the Test App's settings, while Administrators have full control over the test app's settings, including the ability to add and remove people from roles.
For large development teams, aside from your production app, you may have many test apps in use - perhaps even one per engineer. When people join your team you need to be able to grant them access to the appropriate apps. When people leave your team, you need to be sure you've revoked their access to all your app.
Roles > Roles in the Dashboard lists every person who has an Admin, Developer or Insights User role on the production app or on test apps. From this view, you can remove a person's access to all your apps one place.
You can also edit the roles a person has on each of your apps - for example, promote a Tester to be an Admin of a test app, or remove a person's Admin role from a test app.
Not at present. In order for many of features of test app (such as admin inheritance) to be performant, we need to ensure Test Apps share the same database within Facebook's infrastructure. We can only ensure this when a test app is created. Existing App IDs may live on a different database. We suggest creating new test apps and migrating your development teams to use these new test apps for development, testing, QA and staging purposes.
Currently you may create up to 50 test apps for a given production app.
Test apps are designed for use during staging, development, testing or QA - rather than for being launched to the public - as such, Test apps always remain in Development Mode. If you'd like to give more people the ability to use a Test App (for example, when beta testing), you should add them to the Tester role within your test app's Roles tab.
Not at present, although we hope to add this feature in the future. For now, you'll need to change settings in each test app manually. Alternatively you could create a new test app who's settings will be copied from the production app at create-time.
Not at present, although we hope to add this feature in the future. For now, you'll need to update your production app's settings manually.
Yes, you may continue to create regular apps via the "Create New App" dialog on the All Apps page. However, where you're issued an app-scoped user ID, they will be different for the same user. You may use the Business Mapping API to correlate the same user across these apps. However, with Test Apps, the app-scoped user ID will be the same between the production app and all its test apps.
It's true that where Facebook issued an app-scoped user ID for a production app and a test app, these will both be the same. However, the type of User ID Facebook issues depends on the version of the Graph API which the user first-logged using. As such it is not possible to ensure the IDs are always consistent across test apps.
For example, if someone first-logs in to your production app using Graph API v1.0, your app will be issued the original Facebook User ID for that person . If they then first-login to your test app using Graph API v2.0, the test app will be issued an app-scoped User ID for them. This will be different from their original User ID.
For apps created after April 30th 2014, Facebook will always issue an app-scoped user ID and hence the ID will always be consistent between test apps, and between test apps and the production app.