iOS - 订阅型内购指南

一、App Store Connect 帮助

二、测试iOS - 订阅型内购指南_第1张图片

三、订阅状态

iOS - 订阅型内购指南_第2张图片

四、问题思考

1、订阅归属:

  • 以往的消耗性内购, 通常会生成订单ID对应到苹果的内购ID及用户id,对于我们来说,内购仅仅只是个支付工具,而订阅型内购有一整套销售模型
  • 订阅内购是跟随AppleID的,但是在开发过程中,我们是获取不到AppleID,这个时候就需要定义一套规则来绑定用户
  • 竞品策略

iOS - 订阅型内购指南_第3张图片

 2、同一个Apple ID购买完的自动订阅,可以再次点击购买吗(有效期内)

  • 不可以,苹果自身会拦截,会出现(您目前已订阅此项目)的提示窗

3、恢复购买接口([[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; )适用场景

  • 同一个AppleID已经绑定了A,客户端需要怎么处理绑定到B 
  • 掉单、漏单也是直接使用恢复购买来处理
  • 一些关于何时使用的讨论

4、沙盒账号退出及订阅管理     

iOS - 订阅型内购指南_第4张图片iOS - 订阅型内购指南_第5张图片

五、开发

1、前期准备

  • 内购(IAP),包括配置内购产品、配置沙箱测试账号,具体内购代码实现可以参考IMYPaySDK 类
  • 自动续期订阅、订阅型内购要点
  • Receipt信息

2、服务端验证

  • 自动订阅需要增加一个参数: password,如果苹果验证返回21004的话(21004 你提供的共享密钥和账户的共享密钥不一致),就加上password字段去验证,可以成功。

3、代码实现

3.1、获取商品信息
根据productID来获取到SKProduct对象,其中包括价格等一些信息,具体可以参考这个类(IMYGSPremiumProductManager),商品解析可以参考IMYGSPremiumProductModel

iOS - 订阅型内购指南_第6张图片

 3.2、发起订阅
- (void)payWithChannel:(IMYPayChannel)channel params:(NSString *)params completedBlock:(IMYPayCompletedBlock)completedBlock
也可以使用协议唤起@"meiyou/pay",所需参数为channel、sign
iOS - 订阅型内购指南_第7张图片3.3、恢复购买 iOS - 订阅型内购指南_第8张图片

4、具体逻辑实现

参考IMYPaySDK

你可能感兴趣的:(ios)