One very important aspect that may help boost sales of your app is the App Store’s Ratings and Reviews section associated with your app’s description.
Apple App Store Ratings and Reviews introduces a decent amount of “deal breaker” potential. Once the user has reached your app’s description, screenshots and the reviews are the main guides that a casual user would check before making the decision to dig real deep into their pockets and fork over the buck or two for your app.
With that in mind, why not politely ask the user for a couple of minutes of their time to review your app. You can even make it really easy for them, as I’ll show in this post.
The Objective
The objective with this technique is to “ease” the user into a feedback loop. How would one “ease” the user? It’s recommended to ask the user to leave a rating AFTER they have experienced a good amount of the functionality in your app. If you have a game, this might mean after they complete a level or two, or after they beat some achievements or goals. If it’s a utility app, perhaps ask them after a certain number of uses of the app itself (i.e. from launch to resignActive).
Remember that asking the user to write a review is still a fairly disruptive action. You don’t want to prompt the user during a game sequence or ask them while performing some critical data crunching operation. Prompting them right after the app loads is a definite no-no.
If you aren’t sure of the best time to prompt the user for a review, go the less obtrusive route and simply add a nice big button in your Help or Settings view. The user has more of a chance to ignore it, but it might be the right way to approach this aspect for some apps.
Another important thing to remember is that Apple allows a buyer to leave another rating / review after an app update. This is something you should take advantage of.
The Implementation
The logic behind asking the user to review your app is fairly straightforward. You need the following machinery:
1) NSUserDefaults will store whether the user has elected to provide you with a rating or declined. It can also be used to track the version of the app that was last rated.
2) [[UIApplication sharedApplication] openURL:@”url”] will be used to launch the App Store app and directly link to your app’s description.
3) UIAlertView will be used to ask the user to provide a rating/review. Also allow them to gracefully decline.
/* Ask the user if they would like to rate the app Yes or No. Keep it simple. Users like simple. */ UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Review App" message:@"Would you like to rate APP_ NAME and leave us a review?\n\nIt will only take a couple of minutes and will help make this game better for everyone." delegate:self cancelButtonTitle:@"Rate It!" otherButtonTitles:@"No Thanks", nil]; [alert show]; // if the user agrees to rate... NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; [userDefaults setBool:YES forKey:@"versionISRated"]; [userDefaults setObject:@"1.0" forKey:@"ratedVersion"]; [userDefaults synchronize]; /* if the user declines to rate... also reset the counter to detect how many iterations of use between the next time the user is asked */ NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; [userDefaults setBool:YES forKey:@"declinedRate"]; [userDefaults setInteger:0 forKey:@"countFromDecline"]; [userDefaults synchronize]; /* if the user agrees to rate you will then launch the link to your app's App Store page. tested in 4.2, the URL provided in the discussion below should directly launch the App Store app */ [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
Rate it!
The best link (for an iOS device) that will directly launch the app reviews in the App Store app:
itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=##
The “##” is your app’s unique ID. This can be obtained from your app’s iTunes Connect profile.
@BusinessRan let me know that the above link doesn’t work for iPad only apps. i have also used the following URL for my iPad only app:
itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=##
Declines
If a user declines to review, it may simply be because they don’t have time right then, or they simply aren’t in a good mood. Be sure to track that they declined. Give them a break and don’t ask them again for another series of “uses”.
The idea is to track how many “events” that would normally cause a ratings request to occur. After N iterations of events (N = five or six?), ask them again!
Remember that being persistent can be important (to a point). Since you are selling the app at such a low price point, the user really shouldn’t complain (although, if they do, that’s also their right) that they are asked to do something SO hideous as to leave a review of your app.
Even if the user outright declined to rate the first or second time, maybe by the third time they’ll have understood the value of your app.
Ask After an Upgrade
Don’t forget that after the app has been upgraded, you absolutely need to ask them again to get their feedback on all the new features.
Testing
PLEASE, make sure you test this feature adequately. For example, make sure you delete your test app from the device a few times to be sure you start fresh with the defaults cache.
The last thing you need is the app asking the user for a rating EVERY time they launch it or play a level. Guaranteed that won’t help your ratings.
I haven’t provided all the logic you need — homework for the reader. There are a number of great snippets available online. Google will tell all and help you along the way. DO take heed of the advice given in this post!
This post is part of iDevBlogADay, a group of indie iOS development blogs featuring two posts per day. You can keep up with iDevBlogADay through the web site, RSS feed, or Twitter.




