Example: App store review
One powerful use of in-app messages is to increase App Store reviews from users who enjoy using your app, while simultaneously reducing friction.
This guide explains how to create a customized message encouraging users to review your app using the native AppStore review prompt.
Recommendations
- Android and iOS provide features to display an App Store review modal directly within the app. We will show you how to ask for reviews with or without this:
- Apple's Requesting App Store reviews docs
- Google Play In-App Reviews API
- If running non-native apps, you may need to add a plugin or package to display the app store review directly in your app (example for Flutter or Expo).
- You may want to use the OneSignal SDK
addTrigger
method to programmatically display the message, but we will also show a way to do this without code.
Setup
1. Create the message
Navigate to Messages > In-App > New In-App or open the existing App Store Rating template.
Add an Action ID to your review button as shown below:
2. Add the trigger
The trigger is when the message should display. We provide no-code trigger options and code-required options.
If you go the no-code route, you can setup the Audience in step 1 to be a group of users you want reviews from, like users that have a lot of sessions and have used the app for a long time.
If you go the code route, you can programmatically decide when to ask for the review based on user actions. This should happen when the user is not doing something important or interrupt them using your app.
In this example, we set the In-App Trigger key to be ask_for_review
with a value of show
. The actual key and value doesn't need to be these exact things, but needs to match what you set in the addTrigger
method.
For Example: OneSignal.InAppMessages.addTrigger("ask_for_review", "show");
3. Handle the app store rating prompt
Similar to the trigger options above, you can direct users to write the review with a no-code and code-required options.
No-code option (click to expand)
If you go the no-code route, there are a couple steps to follow:
- Update the segment to use "Device Type is Android" filter.
- Duplicate the in-app message and in the duplicated message, update the segment to use "Device Type is iOS" filter. - You should have 2 different in-app messages and 2 different segments (one for iOS and another for Android).
- Add the URL Click Action within the "Review Now" button to be the link to your app store listing based on the iOS and Android listing.
- Android's documentation shows how to link to the app store. Here is an example URL:
https://play.google.com/store/apps/details?id=<package_name>
- Apple's documentation shows the following URL scheme:
https://apps.apple.com/app/id<#Your App Store ID#>?action=write-review
Code-required option (click to expand)
Within our SDK's InAppMessages.addClickListener
method, you can listen for when the message is clicked and handle it differently based on the action ID
set above.
Within this listener method, you can then programmatically call the iOS or Android options to present the app store review modal.
OneSignal.InAppMessages.addClickListener((event) async {
if (actionId == 'review') {
(await inAppReview.isAvailable()) {
inAppReview.requestReview();
}
}
});
4. Schedule and enable
Apple restricts review prompts to three times per year per user and Google recommends less than once per month but doesn't say an exact quota.
To make sure that you don’t over-show the in-app, you can set your in-app schedule to display once every 17 weeks as shown below:
Increasing positive reviews on Apple AppsStore.
- Set tags on users who had a great experience with your app. This can be monitored using number of sessions, adding tags to indicate their experience with your app, or collecting feedback with IAM and assigning a data tag to those who left a great review.
- Create a Segment, then use this segment as the Audience for the Native Review Prompt IAM.
You're done!
You are now done. Your users will get asked for a review without the need to leave your app. Drastically removing friction points.
Updated 1 day ago