iOS应用评分简述

4,314 阅读2分钟

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>

  1. 实现方法
[SKStoreReviewController requestReview];

完结