iOS开发,自动续期订阅的坑

本文介绍了iOS开发中自动续期订阅的管理,包括如何使用共享密钥请求收据验证续期状态。重点讨论了APP内请求验证、启动时监听、环境判断、过期时间检测以及处理退款和恢复购买的问题。提醒开发者注意时间转换和测试环境的影响。
摘要由CSDN通过智能技术生成

 

自动续期订阅相较于普通内购,需要一个共享密钥,这个共享密钥在申请内购时获得。秘钥用于向苹果服务器请求收据信息。

购买过程不再赘述。

购买成功后,自动续期订阅最大的问题在于购买成功后是否续期成功,和到期时间。

解决这个问题,需要利用秘钥和收据请求苹果服务器,得到返回的收据解决。

请求苹果服务,可以APP内,也可以服务器轮询。因为内购时不强制用户登录,所以选择了APP内请求。

出第一次购买,每次续期成功后都要走购买代理

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions

因此,每次APP启动需要添加监听

        [[SKPaymentQueue defaultQueue] addTransactionObserver:self];

记得退出时remove.

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
    int i = 0;
    for (SKPaymentTransaction *transaction in transactions)
    {
        switch (transaction.transactionState)
        {
            case SKPaymentTransactionStatePurchasing: // 0
                break;
            case SKPaymentTransactionStatePurchased: // 1
                
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值