Skip to content

App rating flow defaults & configuration

skykelsey edited this page Jan 11, 2012 · 19 revisions

##How Does Apptentive Decide to Show the Rating Flow?## The Apptentive rating flow is designed to display after a certain set of conditions have been met. There are three conditions we keep track of: number of uses, days since installation, and significant events. You will need to call into Apptentive when your app might want to display the rating flow, and Apptentive will display the rating flow if all of these conditions have been met:

  1. There is an internet connection.
  2. The number of days before rating has elapsed, or this condition was disabled by setting it to -1.
  3. The number of uses OR the number of significant events has been met.

If the user sees the rating flow, and decides to have us remind them to rate the app later, different logic is used:

  1. There is an internet connection.
  2. The number of days before reminding the user has elapsed.

##How is the Apptentive Rating Flow Configured?## To show the rating dialog after a number of significant events have occurred (taking a photo, passing a level, etc), configure the rating flow like so:

ATAppRatingFlow *flow = [ATAppRatingFlow
sharedRatingFlowWithAppID:@"<iTunes App ID Here>"]; 
flow.significantEventsBeforePrompt = 1;

Then, when a significant event occurs (user takes a photo, passes a level, etc), call:

[flow userDidPerformSignificantEvent:YES viewController:vc];

Where YES indicates that the rating flow dialog can be shown if applicable, and vc is the viewController from which to show the dialog. This will increment a persistent count of the significant events which have occurred. If the necessary conditions have been met, then the rating flow will be initiated and a dialog shown to the user.

Let's say you want to show a rating dialog after the user first takes a photo and we don't care how long the user has been using the app. We'd configure the rating flow like so:

flow.daysBeforePrompt = 0;
flow.significantEventsBeforePrompt = 1;

Then, the first time userDidPerformSignificantEvent:viewController: is called, the rating dialog asking the user if they're enjoying the app would be displayed.

Defaults for the App Rating Flow:

The defaults for the reminders are defined in ATAppRatingFlow.h, and are currently:

#define kATAppRatingDefaultDaysBeforePrompt 30
#define kATAppRatingDefaultUsesBeforePrompt 20
#define kATAppRatingDefaultSignificantEventsBeforePrompt 10
#define kATAppRatingDefaultDaysBeforeRePrompting 5

which mean, respectively, 30 days of app use before being prompted for feedback, 20 uses of the app or 10 significant events before being prompted, and 5 days between "Remind Me Later" re-prompts. These defaults are subject to change.

Reminder behavior for App Rating Flow

If a user dislikes a version of the app or says No Thanks to rating it, we wait until the next version of the app to pop up the dialog again.

If a user rates the app, we never show the prompt again.

Key information required

In order to make sure that feedback is properly associated with your app, you need the app’s Apptentive API key. Once you’ve created an Apptentive account and add an app, you receive this API key

For each app, in order to properly send the user to your app’s ratings page, you need your iTunes App ID. To get this, go to "Manage Your Applications" in iTunesConnect, and click on your application. In the "App Information" section of the page, look for the "Apple ID". It will be a number. This is your iTunes application ID.

That's it! The app name will be whatever the name is that's displayed under the app icon on the phone.

Clone this wiki locally