php++内购续期订阅,关于自动订阅(auto renewal)
关于内购项目的基本配置,在此就不啰嗦了,需要注意的是我们配置内购项目的时候,选择类型为“自动续期订阅”即可。具体的内购项目的配置在这里
本篇文章主要记录代码实现自动续期订阅与普通内购的区别,以及上架的注意事项 !
1. 代码实现区别
1> 需要在app启动的时候添加观察者到支付队列,因为续期订阅之后的凭证都是无交互,应用启动的时候下发。
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
}
建议设置一个支付管理类,此类为单例,去监听管理内购。
2> 建议应该有一个重发的机制。
防止一些网络原因造成验证失败、丢单,设置一个凭据管理类(负责凭据的存储和删除)。当服务器验证某个凭证成功之后删除这个凭证,当验证失败之后保留凭证,启动时再次上传凭证验证。(这里的成功是指的服务器已经验证了,并且可以删除的凭证,而非只有验证成功的凭证,比如重复订单等...)
代码上处理与普通的内购没有很大的区别。
2. 关于自动订阅服务端
1> 关于验证
服务端验证基本姿势不变,但是传参有些变化,除了receiptData之外,还需要一同上传“共享秘钥”。
如果您有多个App,可以使用主共享秘钥,也可以自己单独生成app专用秘钥。具体的位置下图标出:
这里可以生成主共享秘钥(所有账号下app共用)
这里可以生成app专用
2> 苹果提供了端到端的异步通知服务
statusUpdateNotification, 我们需要提供一个https的接口,添加到App connect 中app Store信息中的“订阅状态url”。
apple 会给我们返回5中状态
如下图:
订阅状态返回状态表
具体官方文档:点击这里
注意:1.沙盒环境中不会无法模拟取消订阅的操作,所以并无“cancel”的状态。2. 自动续期订阅的产品凭证中会返回一个“original-transaction-id”首次订阅我们可以用这个id和用户关联,以确保每次订阅正确订阅。
下面附上沙盒凭证具体字段(凭证中的purchase-info 可以用base64解码获得):
凭证中的具体字段
3. 自动续期订阅测试注意事项
1>我们需要注意,利用沙盒测试自动续期订阅的产品,相关的时间都会缩短方便测试。
沙盒测试时限
官方文档点击这里
2> 由于apple 测试服务器不稳定,所以有可能下发凭证不及时,或者偶然会下发50条以上的凭证,需要注意避免上传机制。尽量使用新账号测试。
4. 自动续期订阅上架注意
1> 需要在app内部订阅的位置、appStore说明出添加“自动续费说明”,否则审核被拒。
喜马拉雅
喜马拉雅appstore描述
2> 需要在app内部订阅的位置、appStore说明出添加"会员服务协议"、“自动续费协议”、“隐私协议”。并且app内部协议交互性明显(也就是用户一看就知道可点击),否则也会被拒。
相关被拒原因:
We noticed that your app and its metadata
did not fully meet the terms and conditions for auto-renewing subscriptions, as specified in Schedule 2, section 3.8(b) of the Paid Applications agreement...
3> 订阅总价尽量明显, 明显度要高于其他细分价格,否则会拒绝。价格造成用户困惑
php++内购续期订阅,关于自动订阅(auto renewal)相关推荐
- php++内购续期订阅,iOS内购:自动续期订阅总结
前言:内购类型有四种:消耗型商品,非消耗型商品,非续期订阅,自动续期订阅. 顾名思义,从中最有难度的就是自动续期订阅的实现,开通自动续期订阅后,订阅会员的处理将会遇到如下问题:自动订阅的到期继续自动订 ...
- php++内购续期订阅,appstore:内购项目之自动续期订阅
自动续期订阅指南 自动续期订阅让用户能持续地访问App中的内容.服务或高级功能.除非用户选择取消订阅,否则自动续期订阅会在到期时自动续期.设置自动续期订阅,与设置其他App内购买项目类型不同.每个自动 ...
- iOS内购(IAP)自动续订订阅
一.介绍 iOS 的 App 内购类型有四种: 消耗型商品:只可使用一次的产品,使用之后即失效,必须再次购买. 示例:钓鱼 App 中的鱼食. 非消耗型商品:只需购买一次,不会过期或随着使用而减少的产 ...
- java(jfinal) 接入ios苹果内购(连续包月订阅),服务端将二次验证。
大致流程: 1.ios端进行支付,然后收到苹果的一串数据(也叫收据),然后ios端将其转码为BASE64编码的字符串. 2.ios端请求服务端接口,将数据传给服务端,服务端拿到数据后,通过一系列处理后 ...
- iOS 自动订阅开发
一.代码逻辑 关于iOS 订阅.自动订阅 本身功能开发很简单.跟正常的购买没什么大的差异.唯一需要特殊处理(自动订阅)的是, 在APP启动时候要增加侦听: [[SKPaymentQueue defau ...
- iOS自动订阅商品(Auto-Renewable Subscriptions)相关处理
来源:http://blog.csdn.net/xyxjn/article/details/17412453 由于网上有关自动订阅的信息较少,自己姑且整理一下目前接触到的信息,希望能够对一些朋友有所帮 ...
- 收到银行短信你正在使用Android设备,手机收到扣费短信,无故被扣钱?小心自动订阅的大坑!...
原标题:手机收到扣费短信,无故被扣钱?小心自动订阅的大坑! 近日,全国数家音视频网站被约谈,要求整改取消默认自动续费条约等. 现在的付费方式越来越多,也越来越方便,而后衍生的自动订阅付费更是让人防不胜 ...
- iOS 内购SwiftyStoreKit
前言 最近又重新写了很久之前写的内购,该项目中没有订阅,而另一个项目中包含了订阅和消费型的购买.重新整理了一下,项目中用的是SwiftyStoreKit. 我们先来看一下内 ...
- iOS内购二:购买和恢复
iOS内购二:购买和恢复 购买 构建一个SKPayment对象,传递SKProduct.SKPayment被创建后,就会将其加入到SKPaymentQueue队列中 然后用户会授权,payment是异 ...
最新文章
- 后盾网php多少钱_复合排水网价格多少钱
- php学习之道:WSDL具体解释(三)
- Mysql 另类盲注中的一些技巧
- [YTU]_2641 9 填空题:静态成员---计算学生个数)
- JVM:内存划分总结
- 21 款 IDEA 插件,yyds!
- lunbuntu install maven
- boost::mp11::mp_pop_back相关用法的测试程序
- HTML自动换行的问题
- 一个简单的Angular search UI实现
- 使用jMeter构造大量并发的随机HTTP请求
- 蓝点linux_新闻速读 gt; Windows 10 的 Linux 内核将像驱动程序一样由微软更新服务进行更新 | Linux 中国...
- IPv4和IPv6有什么异同?
- 推荐WCF的一系列录像
- 苹果平板买哪款最好?
- 腾讯信鸽Java服务端推送IOS静默消息的IOS客户端走两个回调的问题
- html炫酷在线,10款基于HTML5/CSS3的炫酷动画
- windows xp 安装python3.4.4(xp最高支持到3.4.4,后续版本不支持)
- Linux 内核协议栈的 TSO、GSO
- 简单弄懂Saas是什么? Saas与传统软件有什么区别?