4

there a lot of q&a about how users can rate my app within the app, but i need just a direct link to review\rate my app to send the user by mail and not to my app page in the market because there he need to cilck review then login and then write the review and this is exhausting and not user friendly.

tnx

gilush14
  • 485
  • 1
  • 9
  • 20

3 Answers3

8

In order not to disturb the user with annoying forms you can add a menu item that let the user rate the application through your application site in google play. After the user click in this option, this should not been showed again (even if the user did not rate the app at the end). This solution is quite user friendly, in my opinion.

Add a menu item like this (in res\menu[menu].xml):

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

(other options...) 

<item android:id="@+id/MenuRateApp" android:title="@string/menu_Rate_app"
  android:icon="@drawable/ic_menu_star"></item>
</menu>

In your main activity add the following in order to hide the option once the user has already rated your app:

@Override
public boolean onPrepareOptionsMenu(Menu menu)
{
    MenuItem register = menu.findItem(R.id.MenuRateApp);      
    if(fApp.isRated()) {
        register.setVisible(false);
    }
    return true;
}

Change the fApp.isRated() for a method or variable that keep a boolean saying if the user already rated the app (write and read this value using the sharedPreferences mechanism).

The code to redirect the user to your app site in Google Play could be like the following:

private boolean MyStartActivity(Intent aIntent) {
try {
    startActivity(aIntent);
    return true;
} catch (ActivityNotFoundException e) {
    return false;
}
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    (other options code...)

    if (item.getItemId() == R.id.MenuRateApp) {
    //Try Google play
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setData(Uri.parse("market://details?id="+getPackageName()));
        if (MyStartActivity(intent) == false) {
            //Market (Google play) app seems not installed, let's try to open a webbrowser
            intent.setData(Uri.parse("https://play.google.com/store/apps/details?id="+getPackageName()));
            if (MyStartActivity(intent) == false) {
                //Well if this also fails, we have run out of options, inform the user.
                Toast.makeText(this, this.getString(R.string.error_no_google_play), Toast.LENGTH_LONG).show();
            }
        }
        //Do not disturb again (even if the user did not rated the app in the end)
        fApp.setRated(true);
    }

  return super.onOptionsItemSelected(item);
}

Hope this solution feets your requirements.

Note: part of the code has been borrowed from this site:

http://martin.cubeactive.com/android-how-to-create-a-rank-this-app-button/

Example: enter image description here

Martillador81
  • 328
  • 4
  • 6
2

Based on a similar question I posted, the desired answer I was looking for was

https://play.google.com/store/apps/details?id= + your.package.name

This should be what you're looking for if a link is what you have in mind. The first part is the default starter, and the second part will be your package name.

Zorqe
  • 60
  • 7
  • This link takes you to the app page on Google Play. The OP is asking if there's a direct link to the review section or page. – ataravati Nov 13 '19 at 18:27
2

The premise from where you start, saying that rating an app is exhausting and not user friendly is not applicable because the user should only rate your app when he is willing to "donate" 30 seconds of his life to rate your app. There is a minimal responsibility involved when rating other people work.

The farthest I'd go, since there are also ethics involved, is providing a button in the About section of my app with a link to the Market app screen containing my app, using an Intent to the market (search StackOverflow). Other apps constantly ask a user to rate... I find it bothersome, but at least they are not pushing me right into the Edit and star Views of the Market.

The question you need to ask yourself: do you need to disrupt the user experience of your app by automatically stopping the activity and displaying this "oh-my-gosh-rate-my-app" view in the Market app?

You don't need to push the user into that situation... chances are you will end up with more low ratings than good ratings. I'd take one star just because of that. :-)

Personally, I wouldn't do it and leave the way it is. My 2 cents, of course.

davidcesarino
  • 16,160
  • 16
  • 68
  • 109
  • I do the same. On the about page/dialog I link to the Android market but never prompt the user to vote, it's just annoying. – Ricky Nov 03 '11 at 11:15
  • I'm not trying to push the user to rate my app. i have employes that answer question from users 24/7 and provide support to my apps so i want users that pleased from the support and my app that they consider rate my apps. never tried to push any user to rate my apps. – gilush14 Nov 03 '11 at 11:25
  • I know you're not, but if possible others with not so noble minds certainly will. When answering we must consider the implications of everything. About your question, market ratings should be left for market ratings (put my first answer here again). If you want to rate customer experience with your company, using a different methodology and premises, I believe you should implement your own rating system. I'd use a Cloud computing system like Google App Engine or maybe Amazon (if you can integrate it well with Android). With the benefits of using it elsewhere if desired and more freedom. – davidcesarino Nov 03 '11 at 11:55
  • I tought mybe android market will provide such thing but i guess i'll do as you offer, it sound like a pretty good system. I think i will implemente such system :) – gilush14 Nov 03 '11 at 12:02
  • Ok. I am glad the answer helped you. :-) – davidcesarino Nov 03 '11 at 13:07
  • If you accept that answer as the final stand to your issue, don't forget to mark the green tick. It will help you with other questions. – davidcesarino Nov 03 '11 at 13:34