Implement "Rate My App" in under 60 seconds

From Nokia Developer Wiki
Jump to: navigation, search

This article shows how to add marketplace review (app store "rating") to your Windows Phone app in under 60 seconds.

SignpostIcon XAML 40.png
WP Metro Icon WP8.png
Article Metadata
Windows Phone 8
Created: Rob.Kachmar (01 Dec 2013)
Last edited: Rob.Kachmar (18 Dec 2013)



One secret to a successful app is getting positive reviews in the store. Unfortunately, even if you have a quality app it can be challenging to get users to take the time to give a review. There are many ways to encourage them to do so, but the easiest and most effective is to politely ask them to rate the app after they've used it a number of times.

The Rate My App component provided by Nokia Developer makes implementing this functionality trivially easy - automatically prompting users to rate the app after it has been started 5, 10 or a configurable number of times.

This tutorial shows just how fast and easy it is to implement this "review request" process using the Rate My App Nuget package; so fire up Visual Studio and start the clock!

Step 1: Install the Library (12 seconds)

With your app opened In Visual Studio, go to

  • Tools >>> Library Package Manager >>> Manage NuGet Packages for Solution...
  • Search for RateMyApp, and install the one created by Nokia Developer

RateMyApp Screenshot NuGet.PNG

Step 2: Add an Assembly Reference (5 seconds)

In the XAML of your app's start page (ie. MainPage.xaml), copy and paste the highlighted assembly reference into the phone:PhoneApplicationPage tag at the top where the other assembly references are located.

  1. <phone:PhoneApplicationPage
  2.     x:Class="PhoneApp1.MainPage"
  3.     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4.     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5.     xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
  6.     xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
  7.     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  8.     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  9.     xmlns:ctrl="clr-namespace:RateMyApp.Controls;assembly=RateMyApp"
  10.     mc:Ignorable="d"
  11.     FontFamily="{StaticResource PhoneFontFamilyNormal}"
  12.     FontSize="{StaticResource PhoneFontSizeNormal}"
  13.     Foreground="{StaticResource PhoneForegroundBrush}"
  14.     SupportedOrientations="Portrait" Orientation="Portrait"
  15.     shell:SystemTray.IsVisible="True">

Step 3: Add a Control (5 seconds)

In the XAML of your app's start page, copy and paste this FeedbackOverlay control within the main grid spanning all rows and columns. Additionally, be sure to make it the last control in the grid, so it overlays all the other controls when it is time to be visible.

<!-- Feedback overlay -->
<ctrl:FeedbackOverlay x:Name="FeedbackOverlay"
FeedbackTo="{Binding Path=LocalizedResources.FeedbackTo, Source={StaticResource LocalizedStrings}}"
ApplicationName="{Binding Path=LocalizedResources.ApplicationName, Source={StaticResource LocalizedStrings}}"
CompanyName="{Binding Path=LocalizedResources.CompanyName, Source={StaticResource LocalizedStrings}}"/>

Step 4: Add AppResource Strings (27 seconds)

In the AppResources.resx file, add the following strings (this file is under the Resources folder in your Solution Explorer)

  • FeedbackTo (the value for this must be an email address)
  • ApplicationName
  • CompanyName

RateMyApp Screenshot AppResources.PNG

Step 5: Add an Event Handler (5 seconds)

In the code-behind class of your app's start page (ie. MainPage.xaml.cs), copy and paste the highlighted line into the class constructor (e.g. public MainPage() { ... } )

  1. //Constructor
  2. public MainPage()
  3. {
  4.   InitializeComponent();
  6.   FeedbackOverlay.VisibilityChanged += FeedbackOverlay_VisibilityChanged;
  7. }

Step 6: Add a Method (5 seconds)

In the code-behind class of your app's start page, copy and paste this code into the class

private void FeedbackOverlay_VisibilityChanged(object sender, EventArgs e)
if (ApplicationBar != null)
ApplicationBar.IsVisible = (FeedbackOverlay.Visibility != Visibility.Visible);

That's It!

I told you it was fast and easy. Now go push your update into the store, and enjoy the ratings from your users.

If you want to know more about the Rate My App library, check out the detailed overview in the Nokia Lumia Developer's Library as well as the source code on Github.

Note.pngNote: A well designed app should also consider adding a link to marketplace review on the About Page.

Tip.pngTip: Remember to also head on over to DVLUP.com to pick up some easy XP for implementing the rate my app feature. You can also keep coming back here to use this page as your checklist each time you implement the feature in your other apps.

This page was last modified on 18 December 2013, at 19:11.
486 page views in the last 30 days.