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