iOS开发 - 苹果APP评分机制实现

苹果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 ,
     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

\color{red}{☞ 未上线时“提交”按钮是灰色的无响应事件}
\color{red}{☞ 仅支持iOS10.3以上的版本}
\color{red}{☞ 每个APP内每年最多弹出3次评分}

OC版:
引入框架
#import
#import "Availability.h"(用于判断 ios 版本)
调用requestReview方法

if (__IPHONE_10_3){
        //一句话实现在App内直接评论了。然而需要注意的是:打开次数一年不能多于3次。(开发期间可以无限制弹出,方便测试)
        [SKStoreReviewController requestReview];
   } else {
        NSLog (@"系统版本不支持此方法");
}

Swift 版:
引入框架
import StoreKit
调用requestReview方法

SKStoreReviewController.requestReview()

三、跳转到App Store评分、评价

\color{red}{☞ 跳转App Store评分}
\color{red}{☞ 可以评分,可以评价内容}

跳转到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.选用合适的实现方式

上展示:

APP内评分
不能提交

\color{gray}{欢迎大佬儿来指正纠错,共同学习!!}

你可能感兴趣的:(iOS开发 - 苹果APP评分机制实现)