我是应用程序内购买领域的新手,我刚刚在 iTunes 上观看了有关如何将其集成到我的应用程序的教程。我想知道开发人员如何在无需验证收据的情况下跟踪购买的物品。我认为如果我们可以将购买的物品存储在应用程序中会很好,因为这样我们就可以在没有互联网连接的情况下识别购买的物品。
这样做的惯例是什么?这是一个不好的做法吗?
我是应用程序内购买领域的新手,我刚刚在 iTunes 上观看了有关如何将其集成到我的应用程序的教程。我想知道开发人员如何在无需验证收据的情况下跟踪购买的物品。我认为如果我们可以将购买的物品存储在应用程序中会很好,因为这样我们就可以在没有互联网连接的情况下识别购买的物品。
这样做的惯例是什么?这是一个不好的做法吗?
有两种方法可以跟踪购买的物品:
1 -存储- 临时/永久。显然,临时存储不能保护您免受删除/设备更改。如果您在购买成功后立即将其存储在钥匙串或自己的服务器上,则可以确保永久存储。
2 - 苹果自己的 API 告诉你 - 基于某些规则/条件。
条件:如果这是非消耗品购买,您再次尝试购买。([SKPaymentQueue addPayment])
来自 iTunes Store 的响应将导致 storekit 调用updatedtransactions
- with status - SKPaymentTransactionStateRestored
。这仅仅意味着产品已经购买,需要恢复 - 因此您有责任解锁它。
简而言之,如果它是非消耗性购买,它将不允许您再次购买。对于尚未过期的订阅也必须如此(不确定)。
如果您需要有关如何集成 IAP 的分步教程 - 这是我自己的 SWIFT 和 Objective C 讲座系列。它还附带代码示例。
这是一种不好的做法,因为当您的用户删除并重新安装应用程序时会发生什么?他不会再有他购买的物品了。
本教程是一个非常好的教程,它应该为您指明正确的方向。
应该有允许或能够记录和管理通过 Apple ID 进行的每次应用内购买的应用或设备功能。
问题是……当前的应用内购买设置对用户不友好。
简而言之:购买是您的问题,记录您的购买只是 Apple Inc 和应用程序开发人员“慷慨提供的便利功能”。
不过不应该是这样的。Apple Inc 和应用程序开发人员应整合用户购买信息,使其透明且易于用户访问/理解。
毕竟这是21世纪。