iOS10.3 新特性之商店评定等级和评论,开发阶段只能测试评分,无法显示评论的,现在已更正。关于跳转苹果商店评论内容,保留原先的代码。应用内是先评分再评论的,请参见脉脉的商店评分评论截图。
一、简介
老用户给自己用过的app评等级和评论,这样让开发人员不断完善自己的应用,而且给新用户提供参考。用户可以看已经下载应用的等级和评论。
其效果图如下:
在iOS应用和Mac应用上,应用的等级是从1到5级,用户可以增加评论。当用户下载应用时,苹果商店默认展示最新应用的等级和评论。一旦你的应用被评论,你可以用iTunes连接去看用户评论,
二、请用户评等级和评论
在苹果商店中,可以用户评定等级和评论。如果要想实现这些操作,并且不离开应用时,请使用SKStoreReviewController类。一年可以让用户评论和评定等级三次,用户可以提交评论的等级和用 Touch ID 授权来写和提交评论。如何实现请客户评级和评论,请参照skstore-rviewcontroller API。
human-interface-guidelines
SKStoreReviewController API
三、回复用户评论
可以在苹果商店中回复用户信息。不管什么时候,都可以回复所有用户的评论。当你回复用户评论时,用户会被通知并可以用户选择去修改应用等级。你随时可以编辑你的回复,而在苹果商店只会有一条回复。如何回复和写回复草稿,请参照如下:
Monitoring Reviews: iTunes Connect Developer Guide
Responding to Reviews on the App Store
四、代码的实现
如下是两种商店评论方式实现,另外SKStoreReviewController类建议不能用按钮触发商店评论请求。
//评星方法
- (void)SKrequestReview {
if (_version.doubleValue >= 10.3) {
[SKStoreReviewController requestReview];
}else{
NSLog(@"系统版本小于10.3 方法无效");
}
}
//链接跳转方法 注:因为模拟器没有app商店,所以跳转效果需要真机运行测试
- (void)deepLink{
//拼接app地址,此处用微信的商店地址做测试用途
NSURL *url = [NSURL URLWithString:@"itms-apps://itunes.apple.com/cn/app/%E5%BE%AE%E4%BF%A1/id414478124?mt=8&action=write-review"];
//ios10之后方法有所改变,做出判断
if (_version.doubleValue >= 10.0) {
[[UIApplication sharedApplication]openURL:url options:@{UIApplicationOpenURLOptionsSourceApplicationKey : @YES} completionHandler:^(BOOL success) {
if (!success) {
UIAlertController *aler = [UIAlertController alertControllerWithTitle:@"不能完成跳转" message:@"请确认App已经安装" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"确定"style:UIAlertActionStyleCancel handler:nil];
[aler addAction:cancelAction];
[self presentViewController:aler animated:YES completion:nil];
}
}];
}else{
//ios10之前的方法
[[UIApplication sharedApplication]openURL:url];
}
}
五、注意点
1、要在合适的时机,让用户给应用评定等级和评论。如果用户正在玩游戏时,此时让用户去评论应用等级,会有不好的用户体验,建议在用户赢得游戏时,再让用户去评论应用。
2、苹果规定一年只能请用户评论三次,建议不能用按键控制触发评论请求。如果用按扭控件发送请求时,可能不会弹出评定等级弹框,给用户极不好的体验。
3、应用是在用TestFlight 测试时,不会弹出评定等级提示框,在地址字符串后拼接&action=write-review。
4、另外可以用跳链接的形式,在苹果商店中,让用户去评论应用的等级。
5、回复用户评论时,不能用使用脏话和发布用户的个人信息,否则会被苹果移除开发者资格。