代码之家  ›  专栏  ›  技术社区  ›  Dharini

在应用程序购买中使用自动续订订阅时,需要“还原”按钮?

  •  6
  • Dharini  · 技术社区  · 6 年前

    我用过 auto-renewable subscription 在我的应用程序中。所有事情都很正常,但如果用户从中删除应用程序 iPhone 然后再次安装,那么如何知道用户是否已订阅?

    我们必须存储用户数据还是服务器?

    他们说,我提出了一些类似的问题 Apple 拒绝使用还原按钮的应用程序 自动更新 In-App-Purchase

    2 回复  |  直到 6 年前
        1
  •  10
  •   Gustavo Vollbrecht    5 年前

    他们拒绝没有“还原”按钮的应用程序。每个提供非消费或自动更新订阅购买的应用程序都必须拥有它。它们还提供您所需的一切,以便在SKPaymentQueue上实际恢复用户购买,而无需将其存储在其他地方。

    SKPaymentQueue.default().restoreCompletedTransactions()

    将触发该方法:

    func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction])

    从…起

    SKPaymentTransactionObserver

    我推荐这本指南,那里的一切都很好: https://hackernoon.com/swift-how-to-add-in-app-purchases-in-your-ios-app-c1dc2fc82319

    另外,在询问购买历史记录之前,不要忘记添加您的物品ID。

        2
  •  3
  •   Saikrishna Kumbhoji    6 年前

    您应该保留一个还原按钮。

    收据将告诉您是否已订阅,您可以通过服务器验证这一点。有关信息

    https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html

    你得检查一下 最新收据信息 键,这将是json的数组,然后读取最后一个对象并检查 expires\u日期 钥匙

    https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Chapters/ReceiptFields.html#//apple_ref/doc/uid/TP40010573-CH106-SW2