私はAndroidアプリケーションに取り組んでいます。特定の数の起動に対して apprer ダイアログを開きたいです。そこで、次のコードを使用しました。
 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();
}   
それは正常に動作しています。しかし、私の問題は、LAUNCHES_UNTIL_PROMPT を 3 にすると、4 回目の起動時にダイアログが表示され、ユーザーが評価を与えた後、5 回ダイアログが起動することです。ダイアログが起動するたびに。そのため、ユーザーにとってはうんざりです。ユーザーがアプリを評価した場合、次のバージョンがリリースされるまで「アプリを評価する」必要はありません
PS: アプリの新しいバージョンがリリースされるたびに apprer を起動するために何かをすると便利です。