Get More Ratings for your Apps

James Montemagno

iRate Getting users to take the time to rate your app has been an issue that developers have been struggling with for some time. I have seen many strategies from asking individuals on Twitter, asking in release notes, and of course the most popular option of prompting your user to review your app. The prompt option when combined with targeting loyal customers based on how long and how many times they have used your app makes for a great option to drive up ratings.

In the Xamarin Component Store you will find a wide variety of libraries, user controls, and themes to easily add rich functionality to your Xamarin applications. There are two components which allow you to easily prompt your users to rate your app when a specific set of requirements are met, iRate Rating Prompt for iOS and AuditApp for Android.

iRate app rating for iOS

Both of these components do all of the hard work of implementing this functionality, and give you a beautiful API to customize when to prompt your users and how the prompt should look. You can set how many days or launches of your application before prompting your user or you can even set custom events that must occur before iRate will prompt them.

iRate for iOS

Let’s first take a look at iRate on iOS. Getting started is as easy as adding the component and customizing a few settings in your AppDelegate.

Here I will change iRate to only prompt my users after 30 days of use and if they have used the app at least 50 times.

static AppDelegate () {
  iRate.SharedInstance.DaysUntilPrompt = 30;
  iRate.SharedInstance.UsesUntilPrompt = 50;

Perhaps you would only like to prompt your users if they have completed a set number of events in your application, such as navigation to a certain screen a number of times. To do this we will set the EventsUntilPrompt property instead. Whenever we call LogEvent(bool deferPrompt) this will increment the count and once we hit our EventsUntilPrompt iRate will either immediately pop up the rating prompt or wait until the next launch based on what we pass in for deferPrompt parameter.

Here is what the AppDelegate code looks like:

static AppDelegate () {
  iRate.SharedInstance.EventsUntilPrompt = 10;

Then inside of our UIViewController, ViewDidLoad will log the event:

public override void ViewDidLoad () {
  base.ViewDidLoad ();
  iRate.SharedInstance.LogEvent (true);

AuditApp for Android

Similar to iRate, AuditApp gives you a lot of control over when and how to prompt your users to rate your app. To get started you will need to create a class that inherits from Application to put the setup logic for AuditApp. Here I will override the OnCreate method and set AuditApp to wait for the user to use my app 30 times and at least 30 days.

using System;
using Android.App;
using AuditApp.Common;

public class MyApplication : Application

  public override void OnCreate()
    AndroidPlaystoreAudit.Instance.UsesUntilPrompt = 30;
    AndroidPlaystoreAudit.Instance.TimeUntilPrompt = new TimeSpan(30, 0, 0, 0);

Once AuditApp is setup I just need to activate it from the main Activity of my application.

using AuditApp.Common
public override void OnCreate(Bundle bundle)

AuditApp Android component And there you have it, a nice rating prompt on Android.

Both of these components are highly customizable to fit your needs. Read both the iRate getting started guide and AuditApp getting started guide to learn more.

If that wasn’t enough, here is a short screencast to get you going:


Discussion is closed.

Feedback usabilla icon