With iOS 10.3, Apple changed how apps can request reviews from users. Per their release notes, developers must now use the SKStoreReviewController API to ask users to rate or review the app while they're using it, without being redirected to the App Store.
This is part of a larger overhaul of their ratings and reviews. It's a huge improvement in user experience and offers you more powerful ways to interact with your users.
You can now control when in your app to present the review prompt by calling the API in your app's code, or by using Leanplum - which supports the new app review prompt as an in-app message.
Before you can take advantage of the new features in iOS 10.3, you'll need to update Xcode and update your pods/dependencies to get our latest SDK version (1.7.0+).
- Update Xcode to version 8.3.
- Update your pods to Leanplum iOS SDK 1.7.0+. From the terminal or command prompt, go to your project's root directory and run:
- Confirm in the pod notes that Leanplum SDK 1.7.0+ has been installed.
- Build and run your app using a registered test device.
Once you've completed these updates, you can now start testing App Review prompts using Leanplum.
If you do not see the "Request App Rating" under In-App Actions, you may need to click the refresh button at the top of the In-app templates dropdown menu, or refresh the page in your browser.
Note: Our dashboard will not show the new in-app message template for app reviews until you run a test device built from Xcode 8.3 with the Leanplum iOS SDK 1.7.0+. If your test devices use older versions of our SDK, the dashboard will not display features exclusive to 1.7.0+.
Once you've finished making the above changes and testing locally, you'll need to resubmit your app to the App Store.
After completing the above steps, you can now use your tracked events and other triggers in Leanplum to present the app review prompt to your users (running iOS 10.3+) at just the right time. You can -- of course -- segment this and A/B test it with a Holdback to find the most effective time to ask users to rate your app.
IMPORTANT: Per Apple's documentation, you can only prompt a user to review your app, at most, three times a year (365 days). iOS has complete control over whether to display the prompt to the end user. And, in iOS11, Apple has added a new "In-App Ratings & Reviews" toggle that allows users themselves to disable App Review prompts. It's entirely possible, then, that iOS may not display the prompt to a user, even if we request it.
Given that the App Review prompt may not be displayed by iOS (and iOS does not currently give any indication in its APIs if it displayed the prompt), we highly recommend using an in-app message as a "pre-permission" for an App Review.
Note that Apple does not make visible if the user was shown the rating prompt nor if they interacted with it. For this reason, we are not able to provide analytics on the Request App Rating prompt — only the Leanplum "pre-permission" prompt.
Here's how to send a pre-permission that triggers the App Review prompt:
- Start a new message in the Message Composer.
- Select the Confirm template from the in-app message dropdown.
- Edit the Title and Message fields. We highly recommend using a generic message like "Do you like this app?" with "Yes/No" options, since iOS may not display the iOS App Review (if the user disabled it, or if iOS determines not to display it).
- Set the Accept Action to Request App Rating.
- Edit the Targets to determine which of your users will get the review prompt.
The 10.3+ system prompt shouldn’t display on devices with iOS 10.2 and below, but the confirm message you send before the prompt may go to any users in your Target audience. Target users on iOS 10.3 and above to prevent other users from receiving a confirm message that doesn't lead to the prompt.
To send a review request to users with iOS 10.2 and below, target those users with a separate review request.
- Edit the Display when settings to determine when this message will be displayed to these users.