程序内评价  之SKStoreReviewController

在ios 10.3之后,系统提供了一个SKStoreReviewController类,可以帮助在app内部实现评价。App实现评价一般有下面几种方式。
调用方式一:代码直接调用

        [SKStoreReviewController requestReview];

这种方式属于程序内评价。
实现效果如下:


第一次弹出

点赞之后效果如下:

选中星星之后

调用方式二:支持deep link调用。在app 链接地址后面拼上action=write-review。
这种方式可以实现程序内评价。

调用方式三:App 跳转。

    NSURL *url  = [NSURL URLWithString:@"itms-apps://itunes.apple.com/cn/app/jie-zou-da-shi/id493901993?mt=8"];
    [[UIApplication sharedApplication] openURL:url];

属于传统评价方法。
最终效果如下(先跳转到App Store应用->打开对应app ->模态出评论点赞界面):

Paste_Image.png

在SKStoreReviewController出来以前我们都是通过跳转App Store实现评价app 功能。实现方式如调用方式三。那是否意味着在10.3之后我们就一定要用SKStoreReviewController来取代之前实现吗?为了解答这个问题,我们先分析各自利弊。

SKStoreReviewController的优势
1,用户体验好(人性化)。
2,调用简单(如调用方式一)。
3,支持deep link(比较赞)。

SKStoreReviewController的劣势
1,调用方式一苹果有限制。

/** Request StoreKit to ask the user for an app review. This may or may not show any UI.
*
*  Given this may not succussfully present an alert to the user, it is not appropriate for use
*  from a button or any other user action. For presenting a write review form, a deep link is 
*  available to the App Store by appending the query params "action=write-review" to a product URL.
*/
+ (void)requestReview;

有个细节大家需要注意在测试的时候发现 “提交”按钮不能用。这里有
官方文档说明:
"When you call this method while your app is still in development mode, a rating/review request view is always displayed so that you can test the user interface and experience. However, this method has no effect when you call it in an app that you distribute using TestFlight."

就是说测试的时候需要用TestFlight 测试。

2,调用方式一苹果限制开发者在一年最多只能向用户调用三次评分UI。但是苹果文档没找到链接。
参考

3,调用方式一虽然简单,但需要有网络,如果没有网络调用不起作用(不会弹出UI)。

4,调用方式一,虽然可以给app打分,但是不能给app写评价语。

程序内评价UI的一些特性
1,程序内评价UI呈现出来的UI显示的优先级比较高。

评论UI会遮挡住他下面UI的交互

评论UI唤起的时候,有一个蒙层盖在它下面的view上。如上图中红色的button就不能点。只能点击“Not Now”或者“星星”来消失这个UI。

2,程序内评价UI是一个窗体级的UI,有点类似UIAlertView。
为了验证,请看下面测试代码。当弹出评论UI的时候,我再模态出一个控制器(背景灰色)

-(void)test{
    NSLog(@"touch");
    if (self.presentingViewController) {
        [self dismissViewControllerAnimated:YES completion:NULL];
    }else{
        [SKStoreReviewController requestReview];
        [self performSelector:@selector(present) withObject:nil afterDelay:10];
    }
}

- (void)present{
    ViewController *vc =[[ViewController alloc] init];
    vc.view.backgroundColor = [UIColor colorWithRed:0.3 green:0.3 blue:0.3 alpha:0.5];
    [self presentViewController:vc animated:NO completion:NULL];
}

具体效果(评论UI显示后,后面模态出来一个灰色的view(控制器))如下:


Simulator Screen Shot 2017年2月4日 15.07.10.png

根据效果可以推测,评论UI不是简单模态出来,如果是模态,我们后面模态出来的view 应该能够盖住评论UI。评论UI是一个窗体级的UI(和UIAlertView有点相似,但是UIAlertView是盖在评论UI上面的)。

补充截图:
弹出评论UI前后视图层级对比(多了好几个window):
没有弹出评论UI


没有弹出评论UI

弹出评论UI后


弹出评论UI后
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容