Giter Site home page Giter Site logo

rate-my-app's Introduction

Rate My App

The Rate My App component is used to create prompts that appear at set intervals and allow the user to provide feedback and rate the application in the Windows Phone Store.

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.

This solution consists of Rate My App component and several demo applications demonstrating how Rate My App component can be integrated to various kinds of Windows Phone applications like XAML, Panorama, XAML/XNA, XAML/Direct3D apps.

This solution is hosted in GitHub: https://github.com/Microsoft/rate-my-app

Rate My App component is also available through NuGet Package Manager. Search NuGet repositories for "RateMyApp", install it on your application, and follow the instructions in Rate My App Guide to easily integrate review and feedback functionality to your app.

Developed with Microsoft Visual Studio Express for Windows Phone 2012.

Compatible with:

  • Windows Phone 7.1
  • Windows Phone 8

Tested to work on:

  • Nokia Lumia 925

Instructions

Make sure you have the following installed:

  • Windows 8
  • Windows Phone SDK (min. WP 7.1)

To build and run the sample:

  • Open the SLN file
    • File > Open Project, select the file RateMyApp.sln
  • Right-click RateMyXamlAppWP8 in the Solution Explorer and select "Set as StartUp Project"
  • Select the target 'Emulator WXGA'.
  • Press F5 to build the project and run it on the Windows Phone Emulator.

To deploy the sample on Windows Phone 8 device:

More detailed information can be found in the RateMyAppGuide.pdf doc.

For brief overview info on Rate My App solution you may also wish to check the documentation at Lumia Developer's Library

About the implementation

Important folders:

Folder Description
/ Contains the project file, the license information and this file (README.md)
RateMyApp Root folder for the implementation files of RateMyApp component.
RateMyApp/Controls FeedbackOverlay user control of RateMyApp component.
RateMyApp/Helpers Helper classes for RateMyApp component.
RateMyApp/Properties RateMyApp component properties.
RateMyApp/Resources RateMyApp component localization resources.
RateMyAppDemos Root folder for the demo applications using RateMyApp component.
RateMyAppDemos/WP7 Root folder for WP7 demo applications.
RateMyAppDemos/WP7/RateMyXamlAppWP7 Root folder for RateMyXamlAppWP7 application.
RateMyAppDemos/WP7/RateMyXamlXnaApp Root folder for RateMyXamlXnaApp application.
RateMyAppDemos/WP8 Root folder for WP8 demo applications.
RateMyAppDemos/WP8/RateMyDirect3DApp Root folder for RateMyDirect3DApp application.
RateMyAppDemos/WP8/RateMyPanoramaApp Root folder for RateMyPanoramaApp application.
RateMyAppDemos/WP8/RateMyXamlAppWP8 Root folder for RateMyXamlAppWP8 application.

Important files:

File Description
FeedbackOverlay.xaml Rating/Feedback dialog user control.
FeedbackOverlay.xaml.cs Code behind file for Rating/Feedback dialog user control.
FeedbackHelper.cs Helper class to control FeedbackOverlay behaviour.
StorageHelper.cs Helper class to handle RateMyApp component settings.
MainPage.xaml Page that contains FeedbackOverlay control.
MainPage.xaml.cs Handles ApplicationBar visibility.

Important classes:

Class Description
FeedbackOverlay The user control to access RateMyApp functionality.

Localisation

In v1.0 the component includes strings localized in the following languages: Arabic, German, English US, English UK, Spanish, Finnish, French, Hebrew, Croatian, Hungarian, Italian, Lithuanian, Dutch, Polish, Portuguese BR, Portuguese PT, Romanian, Slovenian and Chinese Simplified.

You are welcome to contribute your own translations (or improve the existing ones) at http://www.getlocalization.com/ratemyapp/

Known issues

No known issues.

License

See the license text file delivered with this project: https://github.com/Microsoft/rate-my-app/blob/master/License.txt

Downloads

Project Release Download
Rate My App v1.1 rate-my-app-1.1.zip
Rate My App v1.0 rate-my-app-1.0.zip

Version history

  • v1.1

    • Added support for new languages: Russian, Swedish, Norwegian, Ukrainian, Vietnamese
    • Updated translations to their latest version
    • All supported languages are now specified using the cultures documented at http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202918(v=vs.105).aspx, i.e. "fi-FI" instead of "fi".
    • New public method Review() in FeedbackHelper, which allows developers to initiate the review operation "any time", while still making sure that the Rate My App component’s state is also updated in order to prevent superfluous review prompts.
    • Windows Phone 8 XAML demo app's About page provides "any time" review option
    • New VisibilityForDesign property in FeedbackOverlay, which can be set to “Visible” if you want to see component’s overlay in the UI designer.
  • v1.0 First public release of the current implementation. You can find an earlier version of the project at http://developer.nokia.com/Community/Wiki/File:WP8_Rate_My_App_Flow.zip

rate-my-app's People

Contributors

dersteve avatar hamishwillee avatar ltomuta avatar mikpiipp avatar scottisafool avatar tompaana avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rate-my-app's Issues

Give feedback "any time" method

Similarly as "review any time" was enabled, why not also similarly add "give feedback anytime"? Assuming this is not already enabled.

RateMyApp can't count to 3

I integrated RateMyApp in my Monogame app. It works perfectly when I set FirstCount to 1 or 2. When I set it to 3 or higher it doesn't work. Version 1.1 from nuget.

Crashing XAML designer in VS2012

When I add the control to a XAML page, the VS2012 designer crashes with

InvalidOperationException: The property "FeedbackOverlay.Message" does not expose a get method.
InnerException: None

Localization

Hello,

With one of my apps I'm using English (USA) as default language and French (project properties). As you can see I'm using the general French localization and not fr-Fr or fr-BE.

So in my project I've one AppResources.resx file and another AppResources.fr.resx file.

Like that if a user uses my app with a french language (from Belgium or France) all my labels are in French and if the user uses another language (English, Italian,...) my labels are in English.

With the version 1.0 of RateMyApp the control displayed the correct translation (French or English) but since the version 1.1 it's always in English. As I can read it's because you're using the UI Culture and my app should support fr-FR and not only fr.

So what about French for Canada, French for Belgium,... Should I have one resx file for each and change my project properties to support all of them instead of the general one?

I think I missed something here and I hope you can help me.

Regards.

Demo app improvements

  • add About page with some basic T&C (as mentioned in the feedback strings)
  • show value of counters

CountDays=true - control is invoked each time on selected day

Hi,
I use your control in my WP8 app. I set CountDays=true so only one app launch is count per day. But there is a problem on days which are selected to display 'FeedbackOverlay' control. I set FirstCount on 3, so on third day on every app launch control is invoked. In my opinion it is wrong behaviour and control should be visible only once a day.

br,
Tadeusz

Ignores Background and Foreground properties

Tried to set the Background and the Foreground by using FeedbackOverlay.Background = ... and FeedbackOverlay.Foreground = ..., which didn't result in any effect.

It would be nice to have these properties available. :)

Cannot add control

I installed RateMyApp through NuGet in Visual Studio 2013 to a Windows Phone 8 project. When I add the control, I start getting an exception about "Message not having a public get"

Control not working when app submitted to store

I have implemented the control in to my app (MyDenon Receiver) and testing on the emulator and when deployed to my phone worked as expected but as soon as the app has been published to the store the control no longer works correctly.
The control reports that the launch count is 0 no matter how many times the app is started.
What I find strange is how it work perfectly during testing.

Localized messages not showing

I am using 8.1 silverlight app. I recently added few languages and translated my main resources. However, the rate-my-app component does not recognize the current language and shows the messages in English only. I have localised for culture neutral languages (eg. fr instead of fr-FR). Please help if I am missing something. The component was installed via NuGet and I did not do anything apart from adding the below tag to my main page:

<rma:FeedbackOverlay x:Name="FeedbackOverlay" CountDays="True" FirstCount="5" SecondCount="10" FeedbackTo="[email protected]" ApplicationName="{Binding Path=LocalizedResources.ApplicationTitle, Source={StaticResource LocalizedStrings}}" CompanyName="{Binding Path=LocalizedResources.ApplicationPublisher, Source={StaticResource LocalizedStrings}}" />

Rate My App and the application bar

In the following screenshot the RMA component is rendered under an ad (from what we understand this is app developer's mistake) but also under the application bar.

wp_ss_20140107_0002

We need to have a look at this later problem, see if we can avoid it ...

5 stars question

I really dislike the suggestion to the user to rate the app 5 stars. It feels spammy and not sincerely. Why isn't chosen to just ask the user for a rating, whatever that rating may be? That would make feedback more honest and interesting.

Can't localizate RateMyApp

Added LanguageOverride="it-IT" to my FeedbackOverlay in mainPage.xaml but it's always in English. I tried to localizate in other language(french,german) but it's the same.
Any ideas?

Known issue: Rate My App review fails with error

We must document that if the app is not yet published in the store, and attempt to review it will fail with error code 805a0194

The same will happen if the app is published in the store but the R&D version we're working on still has the original Product ID and not the one used by the store.

App icon shape to square in the demo apps

The rounded icon of the demo apps shows the theme color in the edges behind in the phone. Icon should be square shape instead.

Or alternatively just have the stars and rest is transparent (and shows the stars and theme color as background).

Allow RMA to be triggered from code behind

A proposal is that we allow apps to call RMA whenever it is considered more likely that the user will be inclined to review and give a good score, like right after scoring an achievement of sorts in the game (new level, highest score ... )

To be clarified if this would be something RMA should be used for or rather an option should be given through app's own UI (and RMA will simply execute it, as when triggered from About page)

Rate Message 2 - Italian language typo

The message should be:
"Sembra che usi la nostra app un sacco!

Hai pensato a darci 5 stelle per dimostrare il tuo apprezzamento?".
There's a typo in "la nostra" that now is "l anostra". :-)

FeedbackOverlay properties accessible in code, not just XAML

I may be missing something here, so please correct me if I'm mistaken, but it does not appear that all the customizable properties can be set on the control from code. It looks like the only way to set certain properties is through XAML. For instance, the required parameters FeedbackTo, ApplicationName, and CompanyName can only be set through XAML.

I have a use case that would easily be solved with the ability to set values in the code behind. I have a Spanish translation that I believe is better than the current control. It would be very simple and convenient to figure out the current user's language, and then override the control's properties only if the source language is Spanish.

        string lang = CultureInfo.CurrentUICulture.Name.Substring(0, 2);
        if (lang.Equals("es"))
        {
            // Right now this control does not allow us to set all properties in the code-behind :-(
            //FeedbackOverlay.
        }

Now I know I could just change it in the source project, recompile it, and manually add it to my solution, but it's really nice and convenient to just use NuGet and let the authors of the project continue to enhance the control with other translations and functionality instead of having to do my own maintenance to keep up.

Thank you,
Rob

Button borders not showing when using the WP8.1 version

I am developing an universal app and I tried to use the rate control. But when it shows, the "rate" and "no thanks" buttons do not have a border.

After digging a bit in the sources, I discovered that the buttons have bindings like this:

BorderBrush="{Binding Foreground, ElementName=RmaControl}"

but the "RmaControl" name is not defined. Setting the name of the containing UserControl to "RmaControl" fixed the issue for me,

RateMyApp 1.2.4 alpha prevents Windows Phone Universal App from being deployed to device when compiled in Release

I'm trying RateMyApp 1.2.4 Alpha (prerelease nuget) on a Windows Phone Universal App.
Everything seems to work fine when compiled and deployed to device in Debug,
but in Release mode it compiles ok but it fails when trying to deploy on a physical device with the following error message:

"Error : DEP6810 : MdilXapCompile.exe failed with error code 1004. See log file '\obj\Release\MDIL\MDILXapCompileLog.txt' for more details."

And the referenced compilelog file contains (excerpt):

"Error: Compile filter argument specified non-existent file: \obj\Release\MSIL\ar-SA\RateMyApp.resources.dll
Invalid argument"

RateMyApp resets after app update

It looks like the control resets itself and starts asking customers again and again after each app update. It's VERY ANNOYING behaviour and should be fixed as soon as possible (because many customers - who's already rated and reviewed my apps - become very angry).

Also, the latest NuGet update doesn't resolves issues #29 (marked as resolved!) and #41.

P.S. Note to author: your control is heavily advertised (and pushed to use by developers) by DVLUP site - they have actually a special update challenge. So PLEASE fix the bugs - it's not just a "indie" third-party control but the OFFICIAL and RECOMMENDED by Nokia/Microsoft control.

"Rate My App" option in app's About and impact on "Rate My App"

An app may chose to implement a "Rate My App" button in app's about, to give a chance to the user to voluntarily rate the app at any given time.

In that case, the RMA component should have a "stop counters" method to be called when that button is pressed since presumably a rating was done already so there is no reason to count anymore.

User experience better if prompt is launched when app closing than at startup

Blog here from Matt Lacey makes good point that people start an app to perform a task, not to be hit by a prompt, however much we might like them to: http://t.co/ikBHbJWDwt

If possible, encouraging users to pipe this into the app exit code would be better - if the app did what they wanted then they are more likely to be in a good mood at rating time.

Another approach which is also less obtrusive is to use a toast-like notification that does not prevent operation of the app - if the user selects the toast they can be redirected to rate the app.

My 2 bits!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.