何时显示Rate My App对话框?
我刚刚在google play store上发布了我的应用程序。我现在没有为我的应用添加任何评分。我对那些在Play Store上有应用的人提出问题,何时显示“评价我的应用”消息?这是否像2天?你的标准是什么?这是否像用户继续使用应用程序?或者他们在特定的会话中使用应用多久?何时显示Rate My App对话框?
回答:
你需要做的代码显示“评分我”弹出。你所说的各种条件是绝对正确的。
代码此为:
我写了这个类提供了三个按钮,并配置对话框,以便应用程序已经启动N次后(用户有等级的应用程序的机会较高它只显示如果他们以前使用过它一下他们大多是不太可能甚至不知道它做什么在第一次运行):
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); 到您的活动。它只需要添加到整个应用程序中的一个活动。
以上是 何时显示Rate My App对话框? 的全部内容, 来源链接: utcz.com/qa/260297.html


