iOS10.3 app内好评详解 SKStoreReviewController

来源:互联网 发布:mac玩魔兽世界 编辑:程序博客网 时间:2024/06/04 18:48

App Store评分方式

目前方式(无版本限制)

  • 只能通过APP内部打开网页形式,直接跳转到App Store 编辑评论。在评分页面,可以评分和评价,评论更有价值。缺点是跳转到App Store,用户的操作场景的转换,会造成部分用户使用的困扰,可能需要花费较长的等待时间,甚至加载失败等,造成评价数量少。

iOS6 +

  • 在APP内部加载App Store 展示APP信息,但不能直接跳转到评论编辑页面。再加载处App Store展示页面后,需要手动点击 评论→ 撰写评论,多两步操作,部分用户可能存在操作障碍(找不到)。

iOS10.3 +

  • APP内评分机制是iOS 10.3 中新添功能。用户可以直接在 App 内进行评分,开发者可以对用户在 App Store 的评论进行回复。
  • APP内评分调用API [SKStoreReviewController requestReview]; (目前唯一),应用会自动弹窗请求用户评分,弹窗不可定制,对处理过程和处理结果无法监控。只能使用该 API 请求评分,不能请求评价和反馈
  • 一个应用内每年最多使用 3 次弹窗,滥用弹窗,会引起不少用户的反感,甚至因此给应用差评。
  • iOS10.3版本以前的评分方式依然可以使用。

评分接入方式

目前接入方式(无版本限制)

1、调用方法

- (void)showAppStoreReView

{

    NSString *APPID = [PlistReader valueForKeyInConfig:@"APP_ID"];

    NSString *appStoreReviewStr = [NSString stringWithFormat@"itms-apps://itunes.apple.com/app/id%@?action=write-review",APPID];

    [[UIApplication sharedApplicationopenURL:[NSURL URLWithString:appStoreReviewStr]];

}

iOS6 +  接入方式

1、引入头文件     

     #import <StoreKit/StoreKit.h>

2、遵循代理 

    SKStoreProductViewControllerDelegate

3、调用方法

- (void)showAppStoreReView

{

    SKStoreProductViewController *storeProductViewContorller = [[SKStoreProductViewController alloc] init];

    storeProductViewContorller.delegate = self;

    //加载App Store视图展示

    [storeProductViewContorller loadProductWithParameters:

     @{SKStoreProductParameterITunesItemIdentifier : [PlistReader valueForKeyInConfig:@"APP_ID"]} completionBlock:^(BOOL result, NSError *error) {

         if(error) {

         } else {

             //模态弹出appstore

             [self presentViewController:storeProductViewContorller animated:YES completion:^{

             }];

         }

     }];

}

4、实现代理

- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {

    [self dismissViewControllerAnimated:YES completion:^{

    }];

}

iOS10.3 + 接入方式

1、引入头文件    

       #import <StoreKit/StoreKit.h>

2、调用方法    

- (void)showAppStoreReView

{

    //仅支持iOS10.3+(需要做校验) 且每个APP内每年最多弹出3次评分alart

    if([SKStoreReviewController respondsToSelector:@selector(requestReview)]) {

        //防止键盘遮挡

        [[UIApplication sharedApplication].keyWindow endEditing:YES];

        [SKStoreReviewController requestReview];

    } else {

        //不论iOS 版本均可使用APP内部打开网页形式,跳转到App Store 直接编辑评论

        NSString *APPID = [PlistReader valueForKeyInConfig:@"APP_ID"];

        NSString *nsStringToOpen = [NSString stringWithFormat: @"itms-apps://itunes.apple.com/app/id%@?action=write-review",APPID];

        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:nsStringToOpen]];

    }

}

参考文档:

具透 | iOS 10.3 新 App Store 评价机制详解