How to increase your Windows Phone app ratings

UPDATED (18-1-2012): Jason mentioned in the comments this doesn’t work for Windows Phone 8. He is absolutely right. If you check the documentation on MSDN http://msdn.microsoft.com/en-us/library/windowsphone/develop/ms598674(v=vs.105) it tells you for Windows Phone 8 you can’t use the MessageBox.Show in the Application_Launching event. So you should place your code in the OnNavigatedTo event of your first page. I changed the code below to reflect that.

One of the really important things people look for when looking for an app is good rated apps. There is a simple trick you can do as developer to increase the amount of ratings you get but also improve the rating itself.

I implemented this for all my apps. For example my Rubber Duck app has a little over 11.000 downloads but over 1000 ratings as well. That’s a 1:11 ratio which is very high.

The trick I use is to ask a user to review my app after the 5th time they startup the app. I make it super easy to review the app and the idea is, why would somebody who doesn’t like your app start it for the 5th time, so WHEN the users startup your app for the 5th time the chances are pretty good they like to use your app anyway, so they probably would rate the app high as well.

This is what I did. Paste this little piece of code in the App.xaml.cs in the Application_Launching part of the file.

private void Application_Launching(object sender, LaunchingEventArgs e)
{
IsolatedStorageSettings.ApplicationSettings[“askforreview”] = false;

int started = 0;
if (IsolatedStorageSettings.ApplicationSettings.Contains(“started”))
{
started = (int)IsolatedStorageSettings.ApplicationSettings[“started”];
}
started++;
IsolatedStorageSettings.ApplicationSettings[“started”] = started;
if (started == 5)
{
IsolatedStorageSettings.ApplicationSettings[“askforreview”] = true;
}
}

Place the following code in your MainPage.xaml.cs (or any other page which might be the startpage of your app, for example when your app is pinned another page might be the startpage)

protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);

var askforReview = (bool)IsolatedStorageSettings.ApplicationSettings[“askforreview”];
if (askforReview)
{
//make sure we only ask once!
IsolatedStorageSettings.ApplicationSettings[“askforreview”] =false;
var returnvalue = MessageBox.Show(“Thank you for using Rubber Duck for a while now, would you like to review this app?”, “Please review my app”, MessageBoxButton.OKCancel);
if (returnvalue == MessageBoxResult.OK)
{
var marketplaceReviewTask = new MarketplaceReviewTask();
marketplaceReviewTask.Show();
}
}
}