app内集成评分的方式有多种途径,笔者大概总结以下三种
-
1.跳转appStore评论
-
2.app内部展示ituns的详情页,实现app内部评论
-
3.使用iOS 10.3新特性,应用内评分
实现特点
三种方式均可实现评价功能,各自也有各自的特点:
一.跳转AppStore评论是从iOS 2.0便沿用至今的方法,苹果也推荐实现app跳转实现评价功能,用户可直接跳转到对应app的评论页进行评分+内容评价。效果如下:
二.app内展示详情页,使用的是SKStoreProductViewController
代理方法,是iOS 6.0后公开的api,相比因为直接是跳转的ituns product页面,所以需要用户手动找到评价处。
三.自iOS 10.3后,苹果公开了StoreKit
的api,用户可在app内直接调用方法达到评价效果,但是只有评分,并无具体评价内容入口,这对于收集用户反馈显然还是存在壁垒。
实现方法
下边简要介绍实现的方法
一.跳转appStore评价页
NSString * nsStringToOpen = [NSString stringWithFormat: @"itms-apps://itunes.apple.com/app/id%@?action=write-review",@"APPID"];替换为对应的APPID
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:nsStringToOpen]];
二.app内部展示产品页评价
1 . 引入#import <StoreKit/StoreKit.h>
2 . 遵循 SKStoreProductViewControllerDelegate
3 . 引入方法
SKStoreProductViewController *storeProductViewContorller = [[SKStoreProductViewController alloc] init];
storeProductViewContorller.delegate = self;
//加载App Store视图展示
[storeProductViewContorller loadProductWithParameters:
@{SKStoreProductParameterITunesItemIdentifier : @"APPID"} completionBlock:^(BOOL result, NSError *error) {
if(error) {
} else {
//模态弹出appstore
[self presentViewController:storeProductViewContorller animated:YES completion:^{
}];
}
}];
4.实现SKStoreProductViewControllerDelegate
代理方法
(void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
[self dismissViewControllerAnimated:YES completion:^{
}];
}
三.应用内星级评价
1 . 引入#import <StoreKit/StoreKit.h>
- 实现方法
[SKStoreReviewController requestReview];
完结