コード例 #1
0
 private void rateHelper_TryReminderCompleted(object sender, RateReminderResult e)
 {
     if (TryReminderCompleted != null)
     {
         TryReminderCompleted(this, e);
     }
 }
コード例 #2
0
ファイル: RateHelper.cs プロジェクト: daohoangson/AppPromo
 private void OnTryReminderCompleted(RateReminderResult e)
 {
     if (TryReminderCompleted != null)
     {
         TryReminderCompleted(this, e);
     }
 }
コード例 #3
0
ファイル: RateHelper.cs プロジェクト: daohoangson/AppPromo
        internal async Task <RateReminderResult> InnerTryReminderAsync()
        #endif
        {
            int  runs          = 0;
            int  days          = 0;
            bool reminderShown = false;
            bool ratingShown   = false;

            // If the runs reminder is enabled and has not been shown, see if we need to show it
            if ((RunsBeforeReminder > 0) && (!PlatformHelper.ReadSetting <bool>(SHOWN_FOR_RUNS_KEY, false)))
            {
                // How many runs so far?
                runs = GetRuns();

                // Have we met the threshold?
                if (runs >= RunsBeforeReminder)
                {
                    // Show the reminder
                    ratingShown = await ShowReminderAsync();

                    // Mark that it's been shown
                    reminderShown = true;
                    PlatformHelper.WriteSetting <bool>(SHOWN_FOR_RUNS_KEY, true);
                }
            }

            // If no reminder has been shown, and if the days reminder is enabled but hasn't been shown, see if we need to show it
            if ((!reminderShown) && (DaysBeforeReminder > 0) && (!PlatformHelper.ReadSetting <bool>(SHOWN_FOR_DAYS_KEY, false)))
            {
                // How many days so far?
                days = GetDays();

                // Have we met the threshold?
                if (days >= DaysBeforeReminder)
                {
                    // Show the reminder
                    ratingShown = await ShowReminderAsync();

                    // Mark that it's been shown
                    reminderShown = true;
                    PlatformHelper.WriteSetting <bool>(SHOWN_FOR_DAYS_KEY, true);
                }
            }

            // Create result
            var result = new RateReminderResult(days, runs, reminderShown, ratingShown);

            // Notify
            OnTryReminderCompleted(result);

            // Return result
            return(result);
        }