我刚刚在Google Play商店中发布了我的应用程序。我现在没有添加任何速率。我对在Playstore上拥有应用程序的人的问题,您何时何时显示" Rate My App"消息?大约两天吗?您要显示什么标准?就像用户继续使用该应用时一样吗?或他们在给定的会话上使用该应用多长时间?
您需要执行代码以显示" Rate Me"弹出窗口。在各种情况下,您说的是绝对正确的。
代码为:
我写的类提供了三个按钮,并配置了对话框,因此仅在启动应用程序之后才显示该按钮(用户以前使用过一些应用程序,用户有更高的机会对应用程序进行评级。他们甚至不太可能在第一次运行中知道它的作用):
public class AppRater
{
private final static String APP_TITLE = "App Name";
// App Name
private final static String APP_PNAME = "com.example.name";
// Package Name
private final static int DAYS_UNTIL_PROMPT = 3;
//Min number of days
private final static int LAUNCHES_UNTIL_PROMPT = 3;
//Min number of launches
public static void app_launched(Context mContext)
{
SharedPreferences prefs = mContext.getSharedPreferences("apprater", 0);
if (prefs.getBoolean("dontshowagain", false))
{
return ;
}
SharedPreferences.Editor editor = prefs.edit();
// Increment launch counter
long launch_count = prefs.getLong("launch_count", 0) + 1;
editor.putLong("launch_count", launch_count);
// Get date of first launch
Long date_firstLaunch = prefs.getLong("date_firstlaunch", 0);
if (date_firstLaunch == 0)
{
date_firstLaunch = System.currentTimeMillis();
editor.putLong("date_firstlaunch", date_firstLaunch);
}
// Wait at least n days before opening
if (launch_count >= LAUNCHES_UNTIL_PROMPT)
{
if (System.currentTimeMillis() >= date_firstLaunch + (DAYS_UNTIL_PROMPT * 24 * 60 * 60 * 1000))
{
showRateDialog(mContext, editor);
}
}
editor.commit();
}
public static void showRateDialog(final Context mContext, final SharedPreferences.Editor editor)
{
final Dialog dialog = new Dialog(mContext);
dialog.setTitle("Rate " + APP_TITLE);
LinearLayout ll = new LinearLayout(mContext);
ll.setOrientation(LinearLayout.VERTICAL);
TextView tv = new TextView(mContext);
tv.setText("If you enjoy using " + APP_TITLE + ", please take a moment to rate it. Thanks for your support!");
tv.setWidth(240);
tv.setPadding(4, 0, 4, 10);
ll.addView(tv);
Button b1 = new Button(mContext);
b1.setText("Rate " + APP_TITLE);
b1.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
mContext.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + APP_PNAME)));
dialog.dismiss();
}
});
ll.addView(b1);
Button b2 = new Button(mContext);
b2.setText("Remind me later");
b2.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
dialog.dismiss();
}
});
ll.addView(b2);
Button b3 = new Button(mContext);
b3.setText("No, thanks");
b3.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
if (editor != null)
{
editor.putBoolean("dontshowagain", true); editor.commit();
}
dialog.dismiss();
}
});
ll.addView(b3);
dialog.setContentView(ll);
dialog.show();
}
}
集成课程与添加一样简单:
AppRater.app_launched(this);
您的活动。它只需要添加到整个应用程序中的一个活动中。