本文主要讲怎么给程序添加一个邀请用户评价的弹窗。
点击给个好评直接跳转到appstore你的程序下面进行评论。
为什么会有评分和评价这件事?
App的评分会给发现这款app的人看到一个积极或消极的方面去影响他是否下载或卸载:
对于开发人员来说:
评论对于你的app反馈意见是非常重要的,它会告诉你,你的这款应用做得很好还是很差,根据用户的反馈,可以更好的改进app,进行迭代。评论也影响到他们在应用程序商店搜索结果中看到的可能性有多大,以及他们是不是将在App Store精选里被展出.
邀请用户的弹出应该什么时候出现,弹出一次后,以后还弹出吗
弹窗应该在用户使用了app的某项功能结束以后出现,判断弹窗是否弹出的逻辑我是这么设计的
- 从来没弹出过
- 用户选择不好用我要提意见,7天之后再弹出
- 用户选择残忍的拒绝后,7天内,每过1天会弹一次
#pragma mark ------------- 邀请用户去appstore评价 --------------
-(void)QuestionGetAppInfoForComment{
//去appstore评分 //当前版本号
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
float appVersion = [[infoDictionary objectForKey:@"CFBundleShortVersionString"] floatValue];
//userDefaults里的天数
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSInteger usertheDays = [[userDefaults objectForKey:@"theDays"] intValue];
NSLog(@"appVersion %f udtheDays %ld",appVersion,(long)usertheDays);
//userDefaults里的版本号
float udAppVersion = [[userDefaults objectForKey:@"appVersion"] floatValue];
//userDefaults里用户上次的选项
NSInteger udUserChoose = [[userDefaults objectForKey:@"userOptChoose"] intValue];
//时间戳的天数
NSTimeInterval interval = [[NSDate date] timeIntervalSince1970];
NSInteger daySeconds = 24 * 60 * 60;
NSInteger currentDays = interval / daySeconds;
NSLog(@"appVersion %@",[userDefaults objectForKey:@"appVersion"]);
NSLog(@"userOptChoose %@",[userDefaults objectForKey:@"userOptChoose"]);
NSLog(@"theDays %@",[userDefaults objectForKey:@"theDays"]);
NSLog(@"udAppVersion %f",udAppVersion);
//版本升级之后的处理,全部规则清空,开始弹窗
NSLog(@"theDays%ld udtheDays%ld",(long)currentDays,(long)usertheDays);
if (udAppVersion && appVersion>udAppVersion) {
[userDefaults removeObjectForKey:@"theDays"];
[userDefaults removeObjectForKey:@"appVersion"];
[userDefaults removeObjectForKey:@"userOptChoose"];
NSLog(@"版本升级之后的处理,清空存储信息,开始弹窗");
[self alertUserCommentView];
}
//1,从来没弹出过的
//2,用户选择不好用我要提意见,7天之后再弹出
//3,用户选择残忍的拒绝后,7天内,每过1天会弹一次