iOS应用内集成AppStore评分功能

iOS应用内部实现App Store评分功能,笔着整理总结有三种方式,各位可根据自己需求自己选择。先介绍下评分功能实现的三种方式。

1,通用方式通过App内部打开网页形式,跳转到AppStore编辑评论,可评分,可评论。

优点:方便,快捷,不受系统版本限制,目前最常用的方式。

缺点:内部网页形式加载缓慢,等待时间长,加载失败概率大。

2,iOS 6.0以后 在app内部加载AppStore 展示app信息

优点:展示速度比方法三块快

缺点:不能直接跳转到评论编辑页面,需要手动点击评论+编辑评论

3,iOS 10.0.3 新增应用内评分功能,调用系统方法评分。

优点:无须跳转,应用内系统弹框,方便快速。

缺点:只能评分,且一年只能使用三次弹框。

开发步骤:

导入头文件 #import

1,iOS 10.0.3以后调用系统弹框评分


1

2

3

4

5

6

7

8

9

10

11

12

/**

 * 只能评分,不能编写评论

 * 有次数限制,一年只能使用三次

 * 使用次数超限后,需要跳转appstore

 */

- (IBAction)systemComentBtnAction:(UIButton *)sender {

if([SKStoreReviewController respondsToSelector:@selector(requestReview)]) {// iOS 10.3 以上支持

    //防止键盘遮挡

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

    [SKStoreReviewController requestReview];

}

2,跳转到AppStore对应应用评论页面


1

2

3

4

5

6

7

/**

 * 可评分评论,无次数限制

 */

- (IBAction)appStoreComentBtnAction:(UIButton *)sender {

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

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

}

3,iOS 6.0以后的方法,内部加载AppStore

注:需签署代理


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

/**

 * 在APP内部加载App Store 展示APP信息,但不能直接跳转到评论编辑页面。

 * 再加载处App Store展示页面后,需要手动点击 评论→ 撰写评论

 */

- (IBAction)webAppStoreBtnAction:(UIButton *)sender {

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:^{

             

         }];

         

     }

     

 }];

}

// 代理方法

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

[self dismissViewControllerAnimated:YES completion:^{

    

}];

}

时间: 2024-10-01 19:47:16

iOS应用内集成AppStore评分功能的相关文章

iOS 跳转至AppStore评分页面

iOS7之前: [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=YourAPPID"]]; iOS7之后:     [[UIApplication sharedApplication]op

ios应用内跳转到appstore里评分

在ios6.0前跳转到appstore评分一般是直接跳转到appstore评分NSString *evaluateString = [NSString stringWithFormat:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=587767923"];    [[UIApplication sharedAp

iOS应用内语言切换功能

? 添加关注 作者 FarmGuo 2016.01.27 15:36* 写了6453字,被44人关注,获得了56个喜欢 iOS应用内语言切换功能 字数1372 阅读681 评论7 喜欢7 当我们的应用仅仅面向国内用户群,一般仅支持一种语言--中文就可以了.当面向国外用户时就需要进行国际化了,不仅仅是语言的转变,也可能包括设计风格,页面布局.交互效果的转变,如微信,微博,QQ这类应用都有着切换语言的功能. iOS常用的国际化流程 1.建立strings文件.2.在Localization勾选支持的

iOS学习笔记6-跳转appStore评分

今天博主有一个跳转appStore评分的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步. 跳转到AppStore让用户能够给我们的应用进行评分,有两种方法,一种是跳出应用,跳转到AppStore,进行评分.另一种是在应用内,内置AppStore进行评分. PS:appleID在https://itunesconnect.apple.com中创建应用即可在应用界面获得 1.跳出应用,跳转到AppStore,进行评分 如果是7.0以前的系统 NSString *str = [NSStrin

使用 Jenkins 搭建 iOS/Android 持续集成打包平台【转】

背景描述 根据项目需求,现要在团队内部搭建一个统一的打包平台,实现对iOS和Android项目的打包.而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品.运营.测试等人员)通过手机扫描二维码后就能直接安装测试包. 该需求具有一定的普遍性,基本上所有开发APP的团队都可能会用到,因此我将整个需求实现的过程整理后形成此文,并且真正地做到了零基础上手,到手即飞.开箱即用,希望能对大家有所帮助. 首先,先给大家展示下平台建设完成后的整体效果: 该平台主要实现的功能有3点:

iOS应用内购常见问题及注意事项

如果您在实现和测试iOS应用内购的时候遇到问题,可以逐一对照下面所列出的条目,并逐一进行检查.相信可以排除大部分的错误. 1.您是否在iOS Dev Center中打开了对应应用AppID的In-App Purchases功能?登陆iOS Dev Center的Certificates, Identifiers & Profiles下,在Identifiers中找到正在开发的App,In-App Purchase一项应当显示Enabled(如果使用Xcode5,可以直接在Xcode的Capabi

ios 发布应用到appStore

1.进入开发者管理界面 [点击 iTunes Connect] 2.进入管理apps界面 [点击 Manage Your Apps] 3.添加新的app [点击 Add New App] 4.填写 app 一些信息 Default Language : 设置语言 App Name:  应用名称[注意:此名称,必须在app stroe 未被注册过] SKU Number:是区分你的app用的,可以填app的BundleIdentifier,或者能唯一标识你的app的字符都可以 [注意:sku Nu

用 jpush-react-native 插件快速集成推送功能(Android 篇)

概述 jpush-react-native 是极光推送官方开发的 React Native 版本插件,可以快速集成推送功能.现在最新版本的 JPush SDK 分离了 JPush 及 JCore,让开发者可以分开集成 JMessage 及 JPush(以前 JMessage 包含了 JPush).下面就来具体说一下如何快速集成以及使用 jpush-react-native 插件. 安装 打开终端,进入项目文件夹,执行以下命令: npm install jcore-react-native --s

iOS应用内付费(IAP)开发步骤列表

iOS应用内付费(IAP)开发步骤列表 前两天和服务端同事一起,完成了应用内付费(以下简称IAP, In app purchase)的开发工作.步骤繁多,在此把开发步骤列表整理如下.因为只是步骤列表,所以并不含详细的说明教程,需要看教程的新手,可以看我附在最后的一些参考链接. 配置Developer.apple.com 登录到Developer.apple.com,然后进行以下步骤: 为应用建立建立一个不带通配符的App ID 用该App ID生成和安装相应的Provisioning Profi