Kow*_*boj 5 app-store in-app-purchase swift
我在促销代码处理上看到了一些关于堆栈溢出的主题:检测促销代码、处理促销代码、消费促销代码,但没有一个有正确的答案。有一些关于如何为应用内购买创建和兑换促销代码的快速指南,但没有人谈论以后发生的事情。
在 AppStore 上兑换(应用内购买)促销代码:
有人说这就是你所要做的(然后当用户选择付款时,突然没有 9,99 美元的信息,而是类似于“使用促销代码”,StoreKit 在幕后处理)。恐怕那行不通。
我是否应该在 AppDelegate 中以某种方式处理它 - 如果在应用程序启动后立即发生交易(意味着有人使用了促销代码)?我是否应该向用户发出警报,告诉他使用了促销代码,并解锁该功能或在他的帐户中添加一些“宝石”(如果是消耗品)?
编辑:也有这两个苹果开发者论坛主题:很少有人有同样的问题 - 没有答案,Apple 工作人员回应了在哪里放置 transactionObserver
EDIT2:或者促销代码可能无法应用于消耗品,这些产品使用一次且无法恢复(使用应用内促销代码基于恢复我在某处阅读过的内容?)
对于那些像我一样陷入困境的人。
事实上,您需要声明一个类(例如PurchaseHelper),在AppDelegate 内使用SKProductsRequestDelegate和SKPaymentTransactionObserver扩展导入StoreKit。
然后,如果用户在 App Store 内兑换促销代码 - 并且他打开您的应用程序 - ' updatedTransactions ' 函数将被调用,这是您唯一可以对购买的产品执行某些操作的时间。
我所做的是 -将 info/transactionId 保存到 UserDefaults,因此在主屏幕中,用户会收到一条提醒,例如“您兑换了促销代码。选择您最喜欢的地点,然后单击“购买”以免费获取它”。
当然,更好的解决方案是立即在 AppDelegate 中启用该产品。如果您的促销代码为用户提供 100 美元(消耗品),那么您只需添加它即可(但仍然存在用户是否登录的问题)。
如果您知道更好的解决方案,请告诉我。
| 归档时间: |
|
| 查看次数: |
2849 次 |
| 最近记录: |