苹果APP评分机制开发
- 1.频率:一款App
每年只能显示三次
评分弹窗,无论更新的频率如何。一旦用户对App进行评分,他们不会再看到评分弹窗;- 2.用户可以选择在iOS设置中完全禁用应用评分弹窗;
- 3.实现方式以
iOS10.3
为分水岭(iOS10.3以前APP内部打开页面跳转到评分,iOS10.3以后APP内打开评分弹框)- 4.完全的自定义,打开APP Store中的对应应用的详情页,在APP Store中评分(无次数限制,需接口记录当前用户是否已评分,审核时不能弹出——有上线被拒风险)
总结三种实方法
实现方法
一、APP内部打开页面跳转到评分
/*
iOS6.0提供了一个框架StoreKit.framework,
1.导入StoreKit.framework,
2.在需要跳转的控制器里面添加头文件 #import <StoreKit/StoreKit.h>,
3.实现代理方法:< SKStorePRoductViewControllerDelegate >
*/
SKStoreProductViewController *storeProductViewController;
[storeProductViewController loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier:KAPPID} completionBlock:^(BOOL result, NSError * _Nullable error) {
if (error){
DLog(@"error %@ with userInfo %@",error,[error userInfo]);
}else{
[self presentViewController:storeProductViewController animated:YES completion:nil];
}
}];
SKStoreProductViewControllerDelegate
代理方法
//Appstore 取消按钮的回调
-(void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController
{
[storeProductViewController dismissViewControllerAnimated:YES completion:nil];
}
二、(iOS10.3之后的方法)APP内打开评分弹框
iOS 10.3之后,用户可以在APP内直接进行评分,不需要再跳转到AppStore
OC版:
引入框架
#import <StoreKit/StoreKit.h>
#import "Availability.h"(用于判断 ios 版本)
调用requestReview
方法
if (__IPHONE_10_3){
//一句话实现在App内直接评论了。然而需要注意的是:打开次数一年不能多于3次。(开发期间可以无限制弹出,方便测试)
[SKStoreReviewController requestReview];
} else {
NSLog (@"系统版本不支持此方法");
}
Swift 版:
引入框架
import StoreKit
调用requestReview
方法
SKStoreReviewController.requestReview()
三、跳转到App Store评分、评价
跳转到APP Store的应用详情位置
- 调用
UIApplication 的 openURL:
方法,打开当前 App 的 App Store URL
// openURL: 方法在 iOS 10 以后已被弃用,替换为 openURL:options:completionHandler:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://itunes.apple.com/app/id123456789"]];
//id 字符串后续的数字为当前 App 对应的 Apple ID可以在 App Store Connect 后台查到
id
字符串后续的数字为当前 App 对应的 Apple ID可以在 App Store Connect 后台查到
这种方式只打开 App 在 App Store 详情页面,用户如果想进行评分或评论,需要在该页面往下滑动,找到“评分及评论”功能。
- 跳转到 App Store 后,直接弹出“撰写评论”页面,可以在上述 App 的链接地址后面加上
action=write-review
itms-apps://itunes.apple.com/app/id123456789?action=write-review
- 打开应用在App Store中的“评分及评论”页面
itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=123456789
方法不重要,重要的是在应用APP评分机制时需要清楚以下的四个问题:
- 1.评分弹出的时机(位置);
- 2.评分弹出的时间间隔;
- 3.评分弹出的时间点;
- 4.选用合适的实现方式
上展示: