借助 Appirater,我们的开发人员可以要求用户对应用程序进行评分。有两种不同的设置:
static double _daysUntilPrompt = 15;
static NSInteger _usesUntilPrompt = 10;
我的问题很简单,是否必须经过 15 天并且必须使用 10 次才能发出警报?或者它们是否具有优先级逻辑,这意味着如果一个发生在另一个之前,警报就会出现?
借助 Appirater,我们的开发人员可以要求用户对应用程序进行评分。有两种不同的设置:
static double _daysUntilPrompt = 15;
static NSInteger _usesUntilPrompt = 10;
我的问题很简单,是否必须经过 15 天并且必须使用 10 次才能发出警报?或者它们是否具有优先级逻辑,这意味着如果一个发生在另一个之前,警报就会出现?
两者都必须在它出现之前发生
您可以在Appirater.m 的第 180 行看到自己的逻辑:
- (BOOL)ratingConditionsHaveBeenMet {
if (_debug)
return YES;
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSDate *dateOfFirstLaunch = [NSDate dateWithTimeIntervalSince1970:[userDefaults doubleForKey:kAppiraterFirstUseDate]];
NSTimeInterval timeSinceFirstLaunch = [[NSDate date] timeIntervalSinceDate:dateOfFirstLaunch];
NSTimeInterval timeUntilRate = 60 * 60 * 24 * _daysUntilPrompt;
if (timeSinceFirstLaunch < timeUntilRate)
return NO;
// check if the app has been used enough
int useCount = [userDefaults integerForKey:kAppiraterUseCount];
if (useCount <= _usesUntilPrompt)
return NO;
这两个条件都需要满足。