关于内购项目的基本配置,在此就不啰嗦了,需要注意的是我们配置内购项目的时候,选择类型为“自动续期订阅”即可。具体的内购项目的配置在这里

本篇文章主要记录代码实现自动续期订阅与普通内购的区别,以及上架的注意事项 !

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)相关推荐

  1. php++内购续期订阅,iOS内购:自动续期订阅总结

    前言:内购类型有四种:消耗型商品,非消耗型商品,非续期订阅,自动续期订阅. 顾名思义,从中最有难度的就是自动续期订阅的实现,开通自动续期订阅后,订阅会员的处理将会遇到如下问题:自动订阅的到期继续自动订 ...

  2. php++内购续期订阅,appstore:内购项目之自动续期订阅

    自动续期订阅指南 自动续期订阅让用户能持续地访问App中的内容.服务或高级功能.除非用户选择取消订阅,否则自动续期订阅会在到期时自动续期.设置自动续期订阅,与设置其他App内购买项目类型不同.每个自动 ...

  3. iOS内购(IAP)自动续订订阅

    一.介绍 iOS 的 App 内购类型有四种: 消耗型商品:只可使用一次的产品,使用之后即失效,必须再次购买. 示例:钓鱼 App 中的鱼食. 非消耗型商品:只需购买一次,不会过期或随着使用而减少的产 ...

  4. java(jfinal) 接入ios苹果内购(连续包月订阅),服务端将二次验证。

    大致流程: 1.ios端进行支付,然后收到苹果的一串数据(也叫收据),然后ios端将其转码为BASE64编码的字符串. 2.ios端请求服务端接口,将数据传给服务端,服务端拿到数据后,通过一系列处理后 ...

  5. iOS 自动订阅开发

    一.代码逻辑 关于iOS 订阅.自动订阅 本身功能开发很简单.跟正常的购买没什么大的差异.唯一需要特殊处理(自动订阅)的是, 在APP启动时候要增加侦听: [[SKPaymentQueue defau ...

  6. iOS自动订阅商品(Auto-Renewable Subscriptions)相关处理

    来源:http://blog.csdn.net/xyxjn/article/details/17412453 由于网上有关自动订阅的信息较少,自己姑且整理一下目前接触到的信息,希望能够对一些朋友有所帮 ...

  7. 收到银行短信你正在使用Android设备,手机收到扣费短信,无故被扣钱?小心自动订阅的大坑!...

    原标题:手机收到扣费短信,无故被扣钱?小心自动订阅的大坑! 近日,全国数家音视频网站被约谈,要求整改取消默认自动续费条约等. 现在的付费方式越来越多,也越来越方便,而后衍生的自动订阅付费更是让人防不胜 ...

  8. iOS 内购SwiftyStoreKit

    前言​​​​​​​​​​​​​​ 最近又重新写了很久之前写的内购,该项目中没有订阅,而另一个项目中包含了订阅和消费型的购买.重新整理了一下,项目中用的是SwiftyStoreKit. 我们先来看一下内 ...

  9. iOS内购二:购买和恢复

    iOS内购二:购买和恢复 购买 构建一个SKPayment对象,传递SKProduct.SKPayment被创建后,就会将其加入到SKPaymentQueue队列中 然后用户会授权,payment是异 ...

最新文章

  1. 后盾网php多少钱_复合排水网价格多少钱
  2. php学习之道:WSDL具体解释(三)
  3. Mysql 另类盲注中的一些技巧
  4. [YTU]_2641 9 填空题:静态成员---计算学生个数)
  5. JVM:内存划分总结
  6. 21 款 IDEA 插件,yyds!
  7. lunbuntu install maven
  8. boost::mp11::mp_pop_back相关用法的测试程序
  9. HTML自动换行的问题
  10. 一个简单的Angular search UI实现
  11. 使用jMeter构造大量并发的随机HTTP请求
  12. 蓝点linux_新闻速读 gt; Windows 10 的 Linux 内核将像驱动程序一样由微软更新服务进行更新 | Linux 中国...
  13. IPv4和IPv6有什么异同?
  14. 推荐WCF的一系列录像
  15. 苹果平板买哪款最好?
  16. 腾讯信鸽Java服务端推送IOS静默消息的IOS客户端走两个回调的问题
  17. html炫酷在线,10款基于HTML5/CSS3的炫酷动画
  18. windows xp 安装python3.4.4(xp最高支持到3.4.4,后续版本不支持)
  19. Linux 内核协议栈的 TSO、GSO
  20. 简单弄懂Saas是什么? Saas与传统软件有什么区别?

热门文章

  1. linux sed f,Linux Sed 命令详解
  2. IDEA使用中directory和package
  3. NPOI 设置excel 边框
  4. The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files
  5. ES6 Map的创建、遍历、使用及注意
  6. 微信小程序源码删除解决办法解包
  7. SpringData JPA 日常使用
  8. 决策树算法思想及实现介绍
  9. 记账后,如何避免误删除账目
  10. BUUCTF—变异凯撒