Note: In Meta’s User Interfaces, such as the App Dashboard and Meta Business Suite, the term “App Install” or “App Installation” is used. This is equivalent to meaning “Logging in” without going through the login window. When you have a user log in through Facebook Login for Business, they “install” the app into their user. In MBS, you can “install” an application into a system user. It just means that the user has given the app the ability to impersonate them for a subset of activities. These subsets are called scopes.
App Review is a process by which Meta ensures your app actually needs the permissions that you want to request from a user. To understand App Review, it is good to cover OAuth2 quickly and why Meta blocks the ability to gain these permissions from anyone.
OAuth2 is a mechanism to provide a scoped impersonation ability using a user access token. The user logs in using a modal, and your app is given an access token (a character string which stores authorization information) which is passed in API calls. Your app specifies what permissions you will ask of the user during the log in, but in practice you are gaining the ability to impersonate that user for some purpose (e.g. post to their page, create an ad campaign for them, etc).
App Review was created to make sure an app is legitimate and shows a Meta reviewer how the permission will be used in your app. Basically, Meta is asking, “Why do you need to impersonate the user for "blank" operations and show me how you intend to perform the operations”.
But how do you build a test application to show the App Review team, when you can’t have a user login without App Review? Also, how do you test whether your login modal (i.e. FBLogin) is set up correctly?
There are two mechanisms for building your app prior to App Review:
Both of these mechanisms are found in the App Dashboard in the left side panel App Roles.
Our recommendation is to use Test Users for rapid prototyping and setting up Facebook Login for Business, and then use App Roles for more thorough and final testing with real users.
Required Permissions: At a minimum, request the following Advanced permissions when going from Development to Live mode:
ads_managementbusiness_managementpages_show_listpages_read_engagementinstagram_basic - If you want the ads to be deliverable to both Facebook and InstagramAdditional permissions may be needed based on your use case. Consult your Meta representative for guidance.
business_management permissionWhen requesting the business_management permission, call out the following in your app review submission:
business_management permission is being requested as a dependency for the ads_management and pages_show_list permissions.business_management permission is being requested as a dependency for the instagram_basic permission.In your app, make sure to inform the User that they are explicitly providing permissions to your app to manage their business assets. You will need to add the business_management permission as part of the Facebook Login for Business flow.