How to know if a specific user has rated a Android App?

Jhon picture Jhon · Mar 15, 2011 · Viewed 14.4k times · Source

In my android app i need implement a functionality that allow ask the user if he wish rate this app, if the response is "yes" i am going to redirect to androidmarket app, when the user already rated the app, the app shouldn't ask him for rate again. So i need any way to know if the user already has rated the app.

I am using the android-market-api but i didn't find any method that return WHO rated my app.
The AppsRequest returns the global rating, for example : 5.
The CommentsRequest returns only comments but if there are some users that rate the app without comments the CommentsResponse returns empty.
I need something like this:

app: myapp
user: [email protected]
rate: 3

Could you please give some ideas?

Answer

Franci Penov picture Franci Penov · Mar 15, 2011

There is no official way to know this. There shouldn't be.

The step from an application being able to determine what my rating for it is, to an application that attempt to retaliate because of a bad review is very small.

The fact that some of this information is exposed for 3rd party APIs like android-market-api worries me a lot. I will certainly not be leaving any comments for any application. In fact, I will not even rate applications, and I would be recommending to any of my friends to avoid doing so as well.

Now back to your particular problem:

you shouldn't rely on knowing if the user has rated/reviewed your application. The best you can do is ask the user with a dialog that offers Review, and Later buttons. If the user clicks on Review you never ask him again. if the user clicks on Later, you ping him in couple of days again. if the user clicked Later two times, chances that he will leave a review are slim. In fact, the more you bug the user, the more likely they will leave a negative rating, so I'd say showing the dialog twice is probably the best approach.