ios10.3app内好评SKStoreReviewController以及其他方式好评

App Store评分方式

1. 通过openURL直接打开App Store

无版本限制,可以直接跳转到评论界面。在评分页面,可以评分和评价,评论更有价值。缺点是跳转到App Store,需要登录,用户的操作场景的转换,会造成部分用户使用的困扰,可能需要花费较长的等待时间,甚至加载失败等,造成评价数量少。

2. 模态展示APP详情页

iOS6+,应用内present一个控制器,展示的是APP详情界面。但不能直接跳转到评论编辑页面。再加载处App Store展示页面后,需要手动点击 评论→ 撰写评论,多两步操作,部分用户可能存在操作障碍(找不到)。

3. APP内弹窗SKStoreReviewController

iOS10.3推出的新形式,APP内直接评分,简单直接,但是不能写评论。APP内评分调用API [SKStoreReviewController requestReview]; (目前唯一),应用会自动弹窗请求用户评分,弹窗不可定制,对处理过程和处理结果无法监控。只能使用该 API 请求评分,不能请求评价和反馈。一个应用内每年最多使用 3 次弹窗,滥用弹窗,会引起不少用户的反感,甚至因此给应用差评。
APP内直接评分

具体实现

1. 通过openURL直接打开App Store

+ (void)openRatingViewInAppStore {
    NSString *appStoreReviewStr = @"itms-apps://itunes.apple.com/cn/app/jj%E6%96%97%E5%9C%B0%E4%B8%BB/id472885640?action=write-review";
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
        appStoreReviewStr = @"itms-apps://itunes.apple.com/cn/app/jj%E6%96%97%E5%9C%B0%E4%B8%BBhd-%E6%8D%95%E9%B1%BC%E9%BA%BB%E5%B0%86%E6%A3%8B%E7%89%8C%E5%90%88%E9%9B%86/id508667882?action=write-review";
    }
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:appStoreReviewStr]];
}

appStoreReviewStr是你的APP在App Store上的地址,这个地址的查看方法请参考
怎么找到苹果App Store的应用程序下载链接地址
这里得注意字符串尾部的“action=write-review”,只有有了这个才直接跳转到评论界面,否则只是进入APP详情界面。

2. 模态展示APP详情页

  • 引入头文件
#import <StoreKit/StoreKit.h>
  • 遵循代理
SKStoreProductViewControllerDelegate
  • 方法实现
- (void)showAppStoreReView
{
    SKStoreProductViewController *storeProductViewContorller = [[SKStoreProductViewController alloc] init];
    storeProductViewContorller.delegate = self;
    [storeProductViewContorller loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier : [PlistReader valueForKeyInConfig:@"APP_ID"]} completionBlock:^(BOOL result, NSError *error) {
         if(error) {

         } else {
           [self presentViewController:storeProductViewContorller animated:YES completion:^{
             }];
         }
     }];
}
  • 实现代理
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
    [self dismissViewControllerAnimated:YES completion:^{
    }];
}

3. APP内弹窗SKStoreReviewController

  • 引入头文件
#import <StoreKit/StoreKit.h>
  • 方法实现
+ (void)openRatingViewInApp {
    Class SKSRC = NSClassFromString(@"SKStoreReviewController");
    if (SKSRC) {
        [SKSRC performSelector:@selector(requestReview)];
    }
}

这样可以很好地实现系统兼容,可以在不支持10.3系统的低版本xcode上编译。

总结

以上是对三种APP评价方式进行的分析对比,以及简要的使用方法。如果要深入了解,或者遇到什么深坑,建议阅读对应官方文档。
不足之处欢迎匡正!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值