【问题标题】:Detecting subscription details when restoring in-app purchase恢复应用内购买时检测订阅详细信息
【发布时间】:2021-12-21 03:25:00
【问题描述】:

通常我会整理和调查我的编码问题,但是,这个问题让我很困惑,我花了一天时间浏览 stackoverflow、github、youtube、apple 开发人员文档,但无济于事。

我在 xcode v13、IoS 13 中编写了一个应用程序,该应用程序具有应用内购买功能。对于应用内购买,我有 2 个自动续订订阅,一个用于每月订阅,另一个用于年度订阅。我正在测试可以正常工作的恢复过程。我使用了标准的苹果代码。但是,我要做的是建立/检测正在恢复的服务,即。假设用户注册了年度订阅,那么当应用内恢复完成后,我试图检测用户恢复是针对年度订阅而不是每月订阅。

正如我所说,我很挣扎,尝试了很多很多事情,但无济于事。有没有其他人这样做过,如果有的话,你能指点一下你是如何做到的吗?

如果您以前这样做过,请提前感谢大家的指导......

【问题讨论】:

    标签: in-app-purchase ios13 restore in-app-subscription


    【解决方案1】:

    好的,所以在花了一天时间浏览许多来源但一无所获之后,我偶然发现了 2015 年的一个小块,它已经解决了这个问题。回顾一下——我想做的是确定客户之前购买的“哪个”应用内购买订阅正在恢复,以便我可以调整场景/用户界面以反映之前进行的应用内购买。为此,我需要找到一种方法来确定应用内购买标识符。说了这么多,要插入的神奇 [var identifier....] 代码如下所示,并进入您检测 SKPaymentQueue .restored 条件的代码部分:

    案例.restored:

                    var identifier : NSString = transaction.payment.productIdentifier as NSString
                    print("Restore identifier is \(identifier)")
                
                    UserDefaults.standard.set(true, forKey: myProductID)
                
                    SKPaymentQueue.default().finishTransaction(transaction)
    
    
                
                   
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-29
      • 2012-10-30
      • 1970-01-01
      • 2014-02-20
      • 1970-01-01
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多