ios - 如何使用 StoreKit 2 进行还原?
问题描述
iOS 15 引入了 StoreKit 2。我正在研究它是否可以在我现有的应用程序中采用它,但我不知道该怎么做。特别是,我看不到如何实现所需的恢复功能(例如,如果用户删除了我的应用程序)。
我想我们应该使用Transaction.latest(for:)
? 是对的吗?
但在我的测试中,如果用户使用 StoreKit 1 完成了购买,该调用会返回nil
. 这是真的?或者如果我做错了,从 StoreKit 1 迁移到 StoreKit 2 的正确方法是什么,我们如何处理恢复?
解决方案
您可以迭代Transaction.currentEntitlements
以获得所有有效订阅和以前购买的非消耗性产品。
如果您在启动时检查此集合,您可以在无需用户交互的情况下静默恢复任何以前的购买。
推荐阅读
- azure - CosmosDb 缓慢的 changefeed 性能和高分区键基数
- postgresql - 如何确保两列的组合始终是唯一的?
- android - Kotlin:如何通过按任意三个按钮取消正在进行的计时器,然后重新启动计时器?
- python - Python 运行旧函数
- python - 从初始值创建 DF 列
- javascript - 为什么我的 promisify 和 jwt 不返回值或错误?
- pine-script - 有没有办法在“填充”中使用“color.from_gradient”而不是“绘图”?
- python - Python为分组ID填写缺失日期,其中每个ID都有自己的最小和最大日期
- python - 运行脚本时,我的图表在脚本停止之前不会呈现(Jupyter Lab,FuncAnimation)
- python - fastAPI 管理具有后台任务的工作人员