52

我需要在我的 android 应用程序中设置费率选项。

我找到了这个链接

但我不确定我是否要搜索。我只想让用户能够在 Google Play 上对我的应用进行评分。

4

10 回答 10

142

评级是通过市场应用程序完成的,因此可以信任评级。如果允许应用程序自己处理评级,那么开发人员可以随时操纵应用程序的评级。因此,您无法自己处理评级。您只能提示用户访问您在 Google Play 上的应用页面,并要求他们对您的应用进行评分以获得更多支持。

使用内置意图启动市场

private void launchMarket() {
    Uri uri = Uri.parse("market://details?id=" + getPackageName());
    Intent myAppLinkToMarket = new Intent(Intent.ACTION_VIEW, uri);
    try {
        startActivity(myAppLinkToMarket);
    } catch (ActivityNotFoundException e) {
        Toast.makeText(this, " unable to find market app", Toast.LENGTH_LONG).show();
    }
}
于 2012-06-30T01:02:51.080 回答
9

这样做很简单...

final String appPackageName = "your.package.name";

try {
      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
    } catch (android.content.ActivityNotFoundException anfe) {
      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + appPackageName)));
    }
于 2014-11-15T22:56:30.287 回答
8

您可以使用 3rd 方工具。以下是一些常用的解决方案:

应用程序:https ://github.com/drewjw81/appirater-android/

apptentive: http: //www.apptentive.com/

民意调查: https ://polljoy.com

AppRater:https ://github.com/delight-im/AppRater

于 2015-03-19T08:48:09.033 回答
7
public void launchMarket() 
{
    Uri uri = Uri.parse("market://details?id=" + this.getPackageName());
    Intent myAppLinkToMarket = new Intent(Intent.ACTION_VIEW, uri);
    try 
    {
        mContext.startActivity(myAppLinkToMarket);
    } 
    catch (ActivityNotFoundException e) 
    {
        Toast.makeText(this, " Sorry, Not able to open!", Toast.LENGTH_SHORT).show();
    }
}
于 2013-02-10T02:51:36.740 回答
3

用户无法直接在您的应用中对您的应用进行评分。他们必须去 Google Play 进行评分。如链接所示,您必须重定向用户以在 Google Play 上查看您的应用:

mContext.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + APP_PNAME)));
于 2012-06-30T01:02:46.340 回答
3

对于下面的代码,我使用了 try 和 catch 方法。try 和 catch 方法将按如下方式工作。单击按钮时,try 方法将尝试在您的 Android 手机上搜索 Google Play 商店应用程序,如果已安装,则启动它并导航到您在 Play 商店中的应用程序。但是,如果您的 Android 手机上没有 Play 商店应用程序,则会执行 catch 方法并启动安装在您的应用程序上的浏览器并导航到您在 Play 商店中的应用程序。getPackageName() 是一个内置函数,用于获取您的项目包名称。您可以手动将其添加为字符串。

另请参阅亚马逊商店

String package="com.example.android";

完整的代码。

   button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                     try {
                            Uri uri = Uri.parse("market://details?id="+getPackageName()+"");
                            Intent goMarket = new Intent(Intent.ACTION_VIEW, uri);
                            startActivity(goMarket);
                        }catch (ActivityNotFoundException e){
                            Uri uri = Uri.parse("https://play.google.com/store/apps/details?id="+getPackageName()+"");
                            Intent goMarket = new Intent(Intent.ACTION_VIEW, uri);
                            startActivity(goMarket);
                        }
                }
            });
于 2016-08-26T06:14:11.000 回答
1

I was searching for a feature similar to iOS, where the user doesn't need to be redirected to play store and again asked to write his reviews. Initially, I thought this was impossible but thankfully my understanding was outdated. Found this app which does that searching for code though.

于 2019-12-06T07:05:42.463 回答
0
 Intent intent = new Intent(Intent.ACTION_VIEW);
  intent.setData(Uri.parse("market://details?id=com.test(This is the package name)"));
  startActivity(intent);
于 2014-03-19T05:29:22.543 回答
0

我总是使用这样的方法

private void launchMarket() {
    Uri uri = Uri.parse("market://details?id=" + getPackageName());
    Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
    try {
        startActivity(goToMarket);
    } catch (ActivityNotFoundException e) {
        Toast.makeText(this, "couldn't launch the market", Toast.LENGTH_LONG).show();
    }
}
于 2018-09-05T07:30:54.553 回答
-1

粘贴此简单代码以从您的应用程序中播放商店评级页面

Intent intent1 = new Intent(Intent.ACTION_VIEW,
                        Uri.parse("market://details?id="
                                + MainActivity.this.getPackageName()));
startActivity(intent1);
于 2016-05-26T09:46:55.393 回答