mirror of
https://github.com/NohamR/knowledge-kit.git
synced 2026-05-24 20:00:37 +00:00
2.6 KiB
2.6 KiB
App 评分
经常有这样的需求-引导用户在合适的时机对 App 做出好评。本文就尝试谈一谈这一块的一些知识
-
评分的方式 可以跳出应用对 App 进行评分,也可以在应用内进行评分(>= iOS 10.3)。
-
跳出 App 评分 利用系统方法打开 URL(跳到 App store 后跳转到自己 App 的评价页面)
NSString *urlString = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/id%@?action=write-review", @"你的App ID"];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
- 应用内评分 iOS 10.3 之后系统为我们评分这个需求引入 StoreKit。利用它,我们可以很方便地在应用内对 App 进行快速评分,而不用跳出去。
- 在 App 内部打开 App store并跳转到App 评价页面
#import <StoreKit/StoreKit.h>
SKStoreProductViewController *storeVC = [[SKStoreProductViewController alloc] init];
storeVC.delegate = self;
[storeVC loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier:@"1401834682"} completionBlock:^(BOOL result, NSError * _Nullable error) {
if (error) {
}else{
[self presentViewController:storeVC animated:YES completion:nil];
}
}];
- 在 App 内弹出评分对话框,用户星级评分后可以继续输入文字
if (@available(iOS 10.3, *)) {
if([SKStoreReviewController respondsToSelector:@selector(requestReview)]){
[SKStoreReviewController requestReview];
else{
NSString *urlString = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/id%@?action=write-review", @"你的App ID"];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
}
}else {
// Fallback on earlier versions
NSString *urlString = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/id%@?action=write-review", @"你的App ID"];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
}
