App Verification Details

Use this guide if your App Review submission was rejected for problems with your App Verification Details.

We are unable to verify the permission(s) requested while testing your app

Submission reviewers use a submission’s screencast as a guide and attempt to recreate how the app uses each of the features and permissions the app is requesting. If a reviewer is unable to recreate the experience depicted in the screencast for any of the requested permission or features, the app will be rejected with "We are unable to verify the permission(s) requested while testing your app".

If your submission is rejected for this reason:

  1. Make sure you have completed all development of your app.
  2. Create a Test User and verify that you can use it to recreate the experience exactly as depicted in your screencast.
  3. If you are able to reproduce this experience exactly as depicted in your screencast, verify that the testing instructions in your App Verification Details are correct and include the Test User’s email and password.
  4. If your screencast is inaccurate but you are able to successfully test each of your requested permissions and features with the Test User, capture a new accurate screencast and upload it, verify that the testing instructions in your App Verification Details are correct, and include your Test User's email and password.
  5. Resubmit for App Review.

Page Public Content Access not needed based on your submission details

The Page Public Content Access (PPCA) feature can only be used in an allowed manner. Apps that do no use PPCA in an allowed manner will be rejected with "Page Public Content Access not needed based on your submission details". For reference, here is the Pages Public Content Access feature description and its allowed usages:

Page Public Content Access

The Page Public Content Access feature allows your app access to the Pages Search API and to read public data for Pages for which you lack the pages_read_engagement permission and the pages_read_user_content permission. Readable data includes business metadata, public comments and posts.

While you are testing your app and before you submit it for review, your app can only access content on a Page for which the following is true: The person who holds the admin role for the Page also holds an admin, developer, or tester role on the app. If you want the app to be able to access public content on other Pages, you must submit this feature for review. Once you set your app to live mode, it will not be able to see any Page public content without this feature.

Allowed Usage

  • Analyze and/or display posts and engagement on Pages.

If your submission is rejected for this reason, please make sure that your app’s use of PPCA is allowed before resubmitting.

Your app is using Facebook's Company Brand in a way that is not permitted

If one or more of an app's brand assets (names, marks, logos, descriptions, etc.) violates our branding guidelines, the submission will be rejected with "Your app is using Facebook's Company Brand in a way that is not permitted". An app’s brand assets may not:

  • imply partnership with, sponsorship by, or endorsement by Facebook or any of our subsidiaries
  • be combined with any of our brand assets
  • imitate any of our brand assets
  • be named in a way that may be confused for Facebook or any of our subsidiaries (for example, app names such ash “FB Friend Smash”, “FVideo”, or “Friend Smash - Best FB Game” will all be rejected)

If your submission has been rejected for this reason, review our Submission Guidelines and update any brand assets that violate our branding guidelines before resubmitting.

Unable to locate Facebook Login Button while testing your app

If an app uses Facebook Login, submission reviewers will attempt to locate the button in the app and use it to log in. If a reviewer is unable to locate the Facebook Login button, the submission will be rejected for "Unable to locate Facebook Login Button while testing your app".

If your submission has been rejected for this reason:

  1. Refer to our Facebook Login Best Practices guide for tips on integrating Facebook Login into your app effectively.
  2. Make sure you have completed all development of your app.
  3. Create a Test User and use it to verify that you are able to use it to sign into your app using the Facebook Login button.
  4. Update your screencast so it clearly shows the Test User locating and signing into your app with the Facebook Login button.
  5. Update your App Verification Details with instructions for locating the Facebook Login button in your app.
  6. Resubmit for App Review and include your updated screencast, updated verification details, and your Test User's email and password.

If your app doesn't use Facebook Login on any platforms (e.g, iOS, Android, Web), remove if from your app using the App Dashboard before resubmitting.

If your app only uses the Share Button or other Social Plugins to publish content to Facebook, you do not need to submit for App Review.

Your app's Facebook Login Button is broken

Submission reviewers will use your testing instructions and screencast as a guide and attempt to sign into your app using the Facebook Login button. If they are able to locate the Facebook Login button but are unable to use it to log into your app for any reason, your submission will be rejected with "Your app's Facebook Login Button is broken".

If your submission has been rejected for this reason:

  1. Make sure you have completed all development of your app.
  2. Create a Test User and verify that you can use it to locate and log into your app using the Facebook Login button.
  3. Update your screencast so it clearly shows the Test User locating and signing into your app with the Facebook Login button.
  4. Update your App Verification Details with instructions for locating the Facebook Login button in your app.
  5. Resubmit for App Review and include your updated screencast, updated verification details, and your Test User's email and password.

We Were Unable to Test the Steps to Connect an Instagram Business Account

A submission reviewer will attempt to sign into a submitted app and verify that it accesses data in an Instagram Professional account in the manner described in the submission. If a reviewer is unable to sign into the app, or is unable to use the app to access data in an Instagram Professional account as described in the submission, the submission will be rejected with "We Were Unable to Test the Steps to Connect an Instagram Business Account".

If your submission has been rejected for this reason:

  1. Make sure you have completed all development of your app.
  2. Verify that your screencast shows you signing into your app and authorizing it to access data in an Instagram Professional account via the Facebook Login button. Recapture your screencast if doesn't show this.
  3. If your app users need to sign into your app with a non-Facebook account before using Facebook Login to authorize data access, include a non-Facebook test user’s credentials in your App Verification Details.
  4. Upload your new screencast if you recaptured it.
  5. Resubmit for App Review.

Your app is not loading during testing (Web)

Submission reviewers use the app URL listed in a submission's App Verification Details section when testing web-based apps. If a URL is not included in the verification details section, they will instead use the URL listed in the Website field in the App Dashboard > Settings > Basic tab. If a submission reviewer is unable to load the submitted web app using either of these URLs, the submission will be rejected.

Before resubmitting:

  1. Make sure you have completed all development of your app.
  2. Create a Test User and verify that you are able to use it to sign into your app externally (i.e, from outside your internal network, if your app is in one).
  3. Include your web app's URL and your Test User's email and password in your App Verification Details instructions.
  4. Resubmit for App Review.

Your app is not loading during testing (Android)

Submission reviewers download submitted apps' Android APKs and attempt to log into the apps to verify how they use requested permission and features. If reviewers are unable to load an app's APK, the submission will be rejected with "Your app is not loading during testing (Android)".

If your submission was rejected for this reason:

  1. Verify that your app can be run on Android 6.0 (Marshmallow) or higher.
  2. Make sure you have completed all development of your app.
  3. Verify that your app's APK can be used to install your app on an Android device.
  4. Upload the APK, or provide a link to it, in the App Verification Details section. If you are providing a link, verify that it can be accessed externally (i.e, from outside your internal network, if your app is in one).
  5. If your app requires users to sign in with a non-Facebook account, include a non-Facebook test user’s login credentials in the App Verification Details section.
  6. Resubmit for App Review.

Your app is not loading during testing (iOS)

Submission reviewers download submitted apps' Simulator Builds and attempt to log into the apps to verify how they use requested permission and features. If reviewers are unable to use the Simulator Build to load the app, the submission will be rejected.

If your submission was rejected for this reason:

  1. Verify that your Simulator Build is a .ipa, zipped .ipa, or .app file, and is compatible with Xcode Version 8.0+.
  2. Verify that your Simulator Build can be used to simulate your app in Xcode Version 8.0+.
  3. Make sure you have completed all development of your app.
  4. Upload your Simulator Build, or provide a link to it, in the App Verification Details section. If you are providing a link, verify that it can be accessed externally (i.e, from outside your internal network, if your app is in one).
  5. If your app requires users to sign in with a non-Facebook account before it can be used, include a non-Facebook test user’s login credentials in the App Verification Details section.
  6. Resubmit for App Review.

Please refer to our Create a Simulator Build document which explains how to generate a Simulator Build. For help with Facebook Login, refer to our Facebook Login for iOS document.

The test credentials that you provided do not work

Apps that don't rely on Facebook Login for authentication must include login credentials for a test account that submission reviewers can use to test the app. If a submission reviewer is unable to log into the app using the included test credentials, the submission will be rejected with "The test credentials that you provided do not work".

If your submission has been rejected for this reason:

  1. Make sure you have completed all development of your app.
  2. Create a test user and verify that you are able to use it to sign into your app externally (i.e, from outside your internal network, if your app is in one).
  3. Include the test user's credentials in your App Verification Details and resubmit.

Please do not create a new Facebook user account as a test user; our Platform Policy restricts app creation and management through fake accounts. If your test account needs to be a Facebook account, create a Facebook Test User instead.

Server-to-Server Apps

If your app is a Server to Server (S2S) app and you are unable to supply login credentials:

  1. Make sure you have completed all development of your app.
  2. Describe how your app ultimately uses all of the data that each requested permission and feature allows your app to access.

Refer to our Server-to-Server Sample App Submission document for guidance.

Your app does not accurately reflect the final user experience

App Review should only be requested for apps that are ready to be switched to Live Mode. Submission reviewers reject any submission with "Your app does not accurately reflect the final user experience" for any app still under development.

If your submission has been rejected for this reason, complete all development and verify that your app is ready to be switched to Live Mode before resubmitting.

Live Apps

If your app is already in Live Mode and you are adding new functionality, you do not need to switch your app to Development Mode. Instead, create a Test App from your live app, and use it for developing and testing. Refer to our App Review for Live Apps topic for details.

Your canvas app redirects to a URL off of Facebook

Submissions for apps that are designed to redirect users off of Facebook will be rejected for violating the Facebook Platform Policy. The Facebook Platform Policy states:

"Don’t build an app whose primary purpose is to redirect people off of Facebook.“

If your app has been rejected for this reason, redesign your app so that its primary functionality can be run without redirecting users off of Facebook, then resubmit.

Your app is embedding the Facebook Login dialog inside a custom web view

Submissions for mobile apps that display Facebook Login within in-app web views will be rejected. In-app web views cannot share cookies with the system browser which results in a poor user experience.

If your submission has been rejected for this reason, refer to Facebook Login Best Practices document and fix any functionality that result in a poor user experience before resubmitting.

Your app may be attempting to access the Instagram Platform to display user content

Apps that access the Instagram Platform API solely for the purpose of displaying User Content will be rejected with “Your app may be attempting to access the Instagram Platform to display user content” for violating Instagram Platform Policy A.16:

“Don't use the Instagram Platform to simply display User Content, import or backup content, or manage Instagram relationships, without our prior permission.”

If your submission has been rejected for this reason, redesign your app so it no longer violates policy A.16, and use the Instagram Basic Display API instead of the Instagram Platform API. The Instagram Platform API will be deprecated in June, 2020.

Your app incentivizes unapproved actions

Submissions for apps that incentive app users to promote those apps through the use of Instagram actions such as likes and follows will be rejected with "Your app incentivizes unapproved actions". Section A.30 of Instagram's Platform Policy prohibits in-app reward systems for sharing to Instagram:

"Only incentivize a person to log into your app or enter a promotion. Don't incentivize other actions."

If your app has been rejected for this reason, remove any functionality that incentivizes your users to promote your app or your brand through Instagram actions before resubmitting.

Your app provides users with assessments that are not approved

Submissions for apps that offer predictions or advice, or assessments of personality, personal attributes, character traits, or behavioral tendencies, or apps that offer similar minimal utility or value to the app user will be rejected with "Your app provides users with assessments that are not approved". Minimal Utility apps violate section 1.10 of our Platform Policy.

If your app has been rejected for this reason, redesign your app so it no longer violates our Platform Policy before resubmitting.

Your app violates Developer Policy 1.7

We check app details, including display name, icon, content, and submission details to ensure that the app experience does not confuse, deceive, defraud, mislead, spam, or surprise anyone who uses the app. Your app should provide the experience that its users would reasonably expect. If your submission is rejected due to a Developer Policy 1.7 violation:

  • Check that your display name and app icon are unique to your app and that you have the right to distribute the image used.
  • Ensure that your display name and app icon accurately represent the app experience described in your submission details and experienced during reviewer testing of your app.
  • Update app details as necessary, then resubmit for App Review.

Your app violates Platform Policy 8.9

Submissions for apps that request an app user's data without using that data to meaningfully improve the quality of the app user’s experience violate section 8.9 of our Platform Policy and will be rejected with "Your app violates Platform Policy 8.9".

If your app has been rejected for this reason, redesign your app so that it uses requested data in a way that meaningfully improves the app user's experience, or so that it no longer requests this data from app users (and remove any permission or features that provide access to this data from your submission), then resubmit.