何时显示我的应用对话框



我刚刚在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);

您的活动。它只需要添加到整个应用程序中的一个活动中。

最新更新