iOS 应用商店评分StoreReview

应用中引导用户去进行应用评论常用的方法大概有以下几种:

  1. 使用deepLink;在app地址链接后边拼接上action=write-review可以直接跳转到App Store应用中对应的应用评价界面进行评价
  2. 使用SKStoreReviewController;在iOS 10.3之后,iOS提供了一种新的评价方式,可以不用跳转出应用在应用内就完成应用的星级评价

从这段说明里,我们看出官方给出的注意点:

  • 该方法在iOS 10.3之后才可以使用,所以在使用时需要进行版本判断
  • 该方法主要用于申请用户评分,但这个方法不一定会显示UI,也就是说即使调用了该方法也不一定会有评级弹窗显示,最终是否有显示主要由App Store的相关政策决定,所以这个方法不适用于任何来自按钮或者其他用户直接交互的操作
  • 该方法在开发模式下可以弹出交互界面,但是不能进行进行信息提交;在TestFlight模式下,调用该方法不会有任何反应
  • 同一用户在同一个应用内每年只能提交三次评论,超出次数之后调用该方法就不会有任何反应,但未找到官方文档说明

代码如下:
导入头文件#import <StoreKit/StoreKit.h>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
+ (void)yoStoreReview{
if (@available(iOS 10.3, *)) {
if ([SKStoreReviewController respondsToSelector:@selector(requestReview)]){
//防止键盘遮挡
[[UIApplication sharedApplication].keyWindow endEditing:YES];
// iOS10.3+ 直接在App内弹出评分框
// 此方式苹果允许的调用频率为3次/年
[SKStoreReviewController requestReview];
}
} else {
// <iOS10.3 跳转AppStore的评论页面
NSString *appIDStr = [NSString stringWithFormat:@"%@", [YostarUtilits getUserDefaultsForKey:@"APPLEID"]];
NSString *appStoreReviewStr = [NSString stringWithFormat:@"https://itunes.apple.com/app/id%@?action=write-review", appIDStr];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:appStoreReviewStr]];
}
}

附:[官方文档] requestReview

-------------本文结束感谢您的阅读-------------
最近的文章

iOS 系统自带分享

注意:国行手机无法使用系统自带的facebook分享,国行手机facebook被阉割导致分享失败。123456789101112131415161718192021222324252627282930313233343536373839404142434445464748&#x2F;*** 分享 …

继续阅读
更早的文章

iOS KVC

1. KVC简介 键/值编码中的基本调用是-valueForKey:和-setValue:forKey:方法12345NSString *name &#x3D; [car valueForKey:@&quot;name&quot;];valueForKey:会首先查找以参数名命名(格式为_name …

继续阅读