一、App Store Connect 帮助
二、测试
三、订阅状态
四、问题思考
1、订阅归属:
- 以往的消耗性内购, 通常会生成订单ID对应到苹果的内购ID及用户id,对于我们来说,内购仅仅只是个支付工具,而订阅型内购有一整套销售模型
- 订阅内购是跟随AppleID的,但是在开发过程中,我们是获取不到AppleID,这个时候就需要定义一套规则来绑定用户
- 竞品策略
2、同一个Apple ID购买完的自动订阅,可以再次点击购买吗(有效期内)
- 不可以,苹果自身会拦截,会出现(您目前已订阅此项目)的提示窗
3、恢复购买接口([[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; )适用场景
- 同一个AppleID已经绑定了A,客户端需要怎么处理绑定到B
- 掉单、漏单也是直接使用恢复购买来处理
- 一些关于何时使用的讨论
4、沙盒账号退出及订阅管理
五、开发
1、前期准备
- 内购(IAP),包括配置内购产品、配置沙箱测试账号,具体内购代码实现可以参考IMYPaySDK 类
- 自动续期订阅、订阅型内购要点
- Receipt信息
2、服务端验证
- 自动订阅需要增加一个参数: password,如果苹果验证返回21004的话(21004 你提供的共享密钥和账户的共享密钥不一致),就加上password字段去验证,可以成功。
3、代码实现
3.1、获取商品信息
根据productID来获取到SKProduct对象,其中包括价格等一些信息,具体可以参考这个类(IMYGSPremiumProductManager),商品解析可以参考IMYGSPremiumProductModel
3.2、发起订阅
- (void)payWithChannel:(IMYPayChannel)channel params:(NSString *)params completedBlock:(IMYPayCompletedBlock)completedBlock
也可以使用协议唤起@"meiyou/pay",所需参数为channel、sign
3.3、恢复购买
4、具体逻辑实现
参考IMYPaySDK