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:
  • 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");

Example shows the same key-value used in the addTrigger method.

Example shows the same key-value used in the addTrigger method.

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:

  1. Update the segment to use "Device Type is Android" filter.
  2. 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).
  3. 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:

Step 3 in creating an In-App Message with app version triggers "is not" and "exists."

These settings will show the in-app up to 40 times total spaced out 17 weeks apart. Increase the amount of times if you want to ask more than 40 times total.

Increasing positive reviews on Apple AppsStore.

  1. 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.
  2. 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.