SKStoreReviewController之程序内评价

在iOS 10.3出现之前,App实现评价方式一般有两种:

(一)deep link调用。在app 链接地址后面拼上action=write-review这种方式可以实现程序内评价;

(二)App跳转。

NSURL*url=[NSURLURLWithString: @"itms-apps://itunes.apple.com/cn/app/XXX/idXXX?mt=XXX"];

[[UIApplicationsharedApplication] openURL:url];

在iOS 10.3出现之后,App实现评价方式又多了一种:程序内评价。苹果提供一个类SKStoreReviewController,可以帮助我们实现在app内部的评价,使用起来很简单,代码如下:

[SKStoreReviewController requestReview];

UI效果如下:

点赞之后的效果图如下:

SKStoreReviewController的优点:

(一)比较人性化,用户体验好;

(二)使用简单;

SKStoreReviewController的缺点:

(一)Apple有一些相应的限制,API里有详细的说明,如下:

而且我们在测试的时候,“提交”按钮是不能用的,官方说明如下:

"When you call this method while your app is still in development mode, a rating/review request view is always displayed so that you can test the user interface and experience. However, this method has no effect when you call it in an app that you distribute using TestFlight."

大致意思就是说测试的时候只有用到TestFlight测试,“提交”按钮才能点击。

(二)Apple 限制开发者在一年最多只能向用户调用三次评分UI。

(三)只可以评分,不能写评语;

总结

上述的三种评价方式,我们在开发中该如何选择呢?答案很简单:根据需求来定。

原文地址:https://www.cnblogs.com/MrXie821385843/p/10329908.html

时间: 2024-11-09 09:39:19

SKStoreReviewController之程序内评价的相关文章

微信小程序内嵌网页的一些(最佳)实践

前言 3 个月前,微信小程序推出了 web-view 组件引发了一波小高潮,笔者所在的大前端团队写过一篇浅析,详情可见:浅谈微信小程序前端生态. 我们曾大胆猜想,这一功能,可能直接导致小程序数量增长迎来一波高峰. 毕竟磨刀霍霍却一直资源不足的团队应该不少,现在可以把已有 H5 应用嵌入到小程序 web-view 容器中,以最低的开发成本坐蹭微信流量红利,何乐而不为呢? 我们也曾畅想也许"小程序页面+ web 页"混合开发(甚至 web 更重)会成为以后的新趋势. 2M 代码限制(如今已

程序内执行shell命令自动获取局域网内所有在线IP和开放端口(Linux)

前言 题目说的有点长,其实就是以下几件事,第一是让Shell命令可以在程序内执行,然后将执行结果传递给变量,从而可以进行后续的事务处理,第二是使用nmap命令获取当前局域网内所有在线IP和开放的端口,最后就是对nmap获得的结果进行处理,得到只有IP和端口的结果. Linux命令行的强大功能相信使用Linux的人都知道,一个命令等于你在windows用几百行甚至上千行的代码量才能实现,所以,如果很好的利用shell命令,可以说是事半功倍. 而要充分利用shell的结果,必然是需要获得可以处理的命

iOS开发之调用系统打电话发短信接口以及程序内发短信

在本篇博客开头呢,先说一下写本篇的博客的原因吧.目前在做一个小项目,要用到在本应用程序内发验证码给其他用户,怎么在应用内发送短信的具体细节想不大起来了,于是就百度了一下,发现也有关于这方面的博客,点进去看了看,个人感到有点小失望,写的太不详细,只是简单的代码罗列,而且代码也没注释,大概是因为太简单了吧.今天在做完项目的发短信功能后感觉有必要把这部分内容整理一下,做个纪念也是好的不是吗.废话少说,切入今天的正题.下面的发短信,打电话当然需要真机测试了. 一.调用系统功能 在iOS中打开系统本身的打

iOS应用程序内购/内付费

最近应用审核被拒绝了,原因是因为使用了第三方支付,苹果说需要使用到应用内购买.但是查了下相关资料,太杂且不详细,好吧,所以现在自己来写博客咯,把我所知道的一一列出来,可能内容有点乱,大家就将就着些吧 一.创建应用 首先进入苹果的ItunesConnection(https://itunesconnect.apple.com)点击左上角的加号新建一个App应用,点击后该网站会弹出一个信息编辑框,大家只要将上面的信息填充完毕点击save即可在苹果的app平台上拥有一个属于自己的App. 在套装ID的

iOS程序内发短信

1.程序外发短信 [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@sms://10086]]; 2.程序内发短信,发完短信自动返回应用 (1)首先导入框架MessageUI.framework (2) 引入头文件 #import <MessageUI/MessageUI.h> (3) 实现代理方法 <MFMessageComposeViewControllerDelegate, UINavigationCon

About In-App Purchase - 关于应用程序内购买

应用程序内购买允许你通过使用StoreKit.framework在应用里内嵌入一个商店.这个框架在应用程序里通过连接到AppStore来安全的处理用户的订单以促使用户授权支付.然后通知你的应用程序,并提供给用户已经购买的商品.使用应用程序内购买,用付费来获取额外的功能和内容. 例如,通过使用应用程序内购买,你能实现如下的场景: 1)一个基本版本带额外的收费功能的App: 2)一个允许用户购买和下载新的版本的杂志App: 3)一个提供新的探索级别的游戏: 4)一个允许玩家购买虚拟财产的在线游戏等.

java web 程序---内置对象application的log方法的使用

application的主要方法里,有log方法,是日志文件里可以查看到信息的. 当老师写好代码后,他发现在tomact里的log目录下找不到信息,原因是:我们用myeclipse这个客户端软件,应该把服务器关闭,而是去bin目录下,手动开启服务器 即startup.bat.这个文件,然后在log目录下查到了信息: 这里有截图,我输入的用户名,这里当程序运行后是个空白页面,只有到log目录下才可以查看到信息. 代码: login.jsp ? 1 2 3 4 5 6 7 <body>     &

&lt;转&gt;iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!

原文地址:http://blog.csdn.net/xiaominghimi/article/details/6937097 //——2012-12-11日更新   获取"产品付费数量等于0这个问题"的原因 看到很多童鞋问到,为什么每次都返回数量等于0?? 其实有童鞋已经找到原因了,原因是你在 ItunesConnect 里的 “Contracts, Tax, and Banking”没有完成设置账户信息. 确定 ItunesConnect 里 “Contracts, Tax, and

【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!【2012-12-11日更新获取”产品付费数量等于0的问题”】

转的别人的 看到很多童鞋问到,为什么每次都返回数量等于0?? 其实有童鞋已经找到原因了,原因是你在 ItunesConnect 里的 “Contracts, Tax, and Banking”没有完成设置账户信息. 确定 ItunesConnect 里 “Contracts, Tax, and Banking”的状态,如下图所示,即可: 这里也是由于Himi疏忽的原因没有说明,这里先给童鞋们带来的麻烦,致以歉意. //——2012-6-25日更新iap恢复 看到很多童鞋说让Himi讲解如何恢复i