Adding app review and feedback reminder in Windows Phone 8 app

Feedback and reviews are key to your app achieving success. High ratings in the Windows Phone Store encourage new users to download your app, and user feedback can show you how to update your app and increase its appeal. So there’s no harm in reminding your users to review your app or to provide feedback. There’s a great component available on github that lets you integrate this functionality with ease.

RateMyApp https://github.com/nokia-developer/rate-my-app

The component comes with a comprehensive guide explaining how it can be integrated with your app, still for the sake of completeness on this blog I will write about it with images for illustration and source code for reference. By default, when the application with Rate My App component is started for the 5th time, a dialog for reviewing the app is shown to the user. If the user declines to review the app, she will be given the option to provide direct feedback to the developer. On the 10th run of the app, if a review was not already collected, the user will be prompted one more time to rate the app. The interval of showing the dialogs, as well as the precise textual content of the dialogs can be configured to better suit your needs.

Only the main page of the application is shown on 1st to 4th launch of the application. On the 5th app launch, a dialog is shown on top of the main page asking user to review the app.

If the user chooses to rate the application, she is directed to the store to rate the app (which in the case of the demo apps gives an error because there is no real app to be rated in the store), and no more dialogs are shown. Otherwise, if the user selects “no thanks”, another dialog appears, asking for feedback via email. If the user chooses to give feedback, the ‘ComposeEmailTask’ is launched, otherwise the dialog closes.

 

Here are the steps that will let you add RateMyApp component in your app.

Step 1. Get RateMyApp component from Nuget

This component is available at the link given above and is also available on Nuget. Search for RateMyApp on Nuget and add it to your project. Here’s an article explaining how to add a third party SDK or toolkit with Windows Phone app using Nuget Package Manager.

 

 

Step 2. Add a reference to RateMyApp component in MainPage.xaml

A namespace for RateMyApp component must then be declared inside PhoneApplicationPage definition on the first page in the app.

xmlns:rma=”clr-namespace:RateMyApp.Controls;assembly=RateMyApp”

Step 3. Add the FeedbackOverlay control at the end of LayoutGrid

‘FeedbackOverlay’ user control from the RateMyApp component should then be placed as the last element inside the layout grid of the first page, and it should span all layout grid rows and columns so it is not obscured. Rate My App component can be customized in several ways. You can change texts shown in the dialogs and provide your own localizations for the texts shown in the dialogs, you can set the intervals when dialogs are shown, and you can set whether each and every application launch should be counted against the set interval or only one launch per day.

 



Step 4. Add the code behind in MainPage.xaml.cs to control the visibility of FeedbackOverlay ´IsVisible´ and ´IsNotVisible´ dependency properties of ‘FeedbackOverlay’ user control are included to help with MVVM apps and can be useful for showing and hiding the (bindable) application bar.  

The integration is complete. You can always tweak with the settings to customize it further. Here are a few tips.

  • You can reset the review and feedback counter of RateMyApp component by calling the Reset() method of the FeedbackOverlay component.
  • Rate My App component offers the Review() method in the FeedbackHelper class, which allows developers to initiate the review operation while making sure that the Rate My App component’s state is also updated in order to prevent superfluous review prompts.
  • The Rate My App component’s Visibility is by default set as “Collapsed” so it will not disturb your UI design. The property “VisibilityForDesign” is available since v1.1 and can be set to “Visible” if you want to see component’s overlay in the UI designer.
  • The component has built in support for various cultures so localization can be implemented quite easily

Get the source code for this project,

Download Rating and Feedback

 
You can also achieve this without using this ratemyapp toolkit. Refer to the following blog post link given below.

Adding app review reminder in Windows phone app without using rate my app toolkit