20

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: jhonb78@gmail.com
rate: 3

Could you please give some ideas?

Quintin Robinson
  • 81,193
  • 14
  • 123
  • 132
Jhon
  • 201
  • 1
  • 2
  • 3
  • 8
    `android-market-api` violates Google's copyrights on the Market data, as that data is not publicly available under any license. Anyone using it may be subject to legal liability. Furthermore, what you are asking for would be a privacy violation. If you want people to respect you, please respect them -- Google and your users alike. – CommonsWare Mar 15 '11 at 22:26

2 Answers2

33

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.

Franci Penov
  • 74,861
  • 18
  • 132
  • 169
  • Well, you right, the Privacy is a problem if all people know about rating and comments of other users. Your suggest is a great alternative, i am goin to have two options : Review and Later. – Jhon Mar 15 '11 at 22:41
  • 8
    That is no reason for there not to be support to determine if a user has rated an app. If the developer is a quality developer, emphasis on quality, there wouldn't be any retaliation for a bad rating. Hell, why would you even use the app if you rated it poorly. If you aren't using the app, there's no way to retaliate. There's a disconnect in logic. – Zaid Daghestani Apr 03 '12 at 18:32
  • 12
    Furthermore, if support were added, it would return a Boolean on whether the user has rated the app. Not the value. There wouldn't be a way to take advantage of anything. The fact of the matter is, I want my apps to be smart. There is no chance in hell I'd ask a user to rate my app if he's already rated it. That's crappy development. – Zaid Daghestani Apr 03 '12 at 18:35
  • @BananaNutTruffles you obviously live in another, better world, where there's no malicious applications. I can see several scenarios where apps do bad things to force the user to leave good reviews. – Franci Penov Apr 03 '12 at 23:32
  • if the api only returned a boolean, apps would be incapable of doing such a thing. – Zaid Daghestani Apr 06 '12 at 14:15
  • @BananaNutTruffles you still hit the problem of how to ensure the app can get the answer only for itself. at the end of the day, I don't want an app to be able to figure out what apps I've installed and potentially use on my phone, by simply asking whether I rated the top 1000 apps. The potential API then has to be able to authenticate the user, and to get his authorization for the app to be able to use it, and to be able to authenticate the app itself, to limit the information it can fetch. – Franci Penov Apr 06 '12 at 16:17
  • 1
    Have you seen the Market License Checker? It checks to see if a user purchased the app. It does not allow you to check if the user has purchased another app, but only your own. It can be done. And fairly easily since the Market License Checker has most of the work done already. – Zaid Daghestani Apr 08 '12 at 03:04
  • @BananaNutTruffles I totally agree with you, I'm really kind of disappointed with the current rating system. It seems like the only users who ever leave a rating are the ones who run into some obscure bug and want to complain about it. I want to know if they have rated simply to get the rest of the people to rate, I don't care what the rating is. – Justin Buser Jun 03 '12 at 09:00
0

Well google have introduces API for getting the review of your app.

The Google Play Developer Reply to Reviews API allows you to view user feedback for your app and reply to this feedback. You can use this API to interact with users directly within your existing customer support toolkit, such as a CRM system.

The Reply to Reviews API allows you to access feedback only for production versions of your app. If you want to see feedback on alpha or beta versions of your app, use the Google Play Developer Console instead. Also, note that the API shows only the reviews that include comments. If a user rates your app but does not provide a comment, their feedback is not accessible from the API.

Source From

Rajesh Panchal
  • 1,140
  • 3
  • 20
  • 39