iOS StoreKit 2 新特性解析

如题所述

苹果在2021年的全球开发者大会(WWDC)上展示了全新的StoreKit 2,为应用内购买带来了诸多改进。这个更新不仅解决了之前版本的问题,还引入了一系列关键功能,让开发者的工作更加顺畅。


API升级与新特性


StoreKit 2的亮点在于引入了Swift 5.5的语法,为开发者提供了更直观的API。例如,获取商品的示例代码从SKProductsRequest更新为:


let products = try await Product.products(for: productIDs)

购买接口也得到了增强,如purchase(options: Set),现在支持永久保存在Transaction中的appAccountToken,方便存储订单信息。


新API提供了对订阅和退款的更精细管理,包括判断商品是否适合首购优惠的isEligibleForIntroOffer函数,以及获取商品类型的API。


核心改进


StoreKit 2解决了之前版本中的一些痛点,如后台退款信息不可查看、沙盒测试退款功能缺失和orderID关联困难。现在,开发者可以主动获取用户交易状态,无需在支付队列等待,从而提高用户体验。


退款功能的增强允许用户在App内提交退款申请,开发者可以接收到实时通知。此外,通过同步不同设备的购买记录,开发者可以使用sync() API,但需要验证Apple ID。


订阅与管理


StoreKit 2提供了订阅状态的实时管理,开发者可以直接获取更新的订阅信息,同时支持在App内管理订阅。这使得开发者可以更好地控制和追踪用户的订阅状态。


服务器与客户端的协同


StoreKit 2引入了Server to Server功能,加强了服务器间的通信,开发者可以验证状态、跟踪内购活动、管理订阅和退款信息。这使得开发者能够更高效地处理用户行为产生的交易更新,如重新安装应用后未完成的交易。


家庭共享与安全性


StoreKit 2支持家庭共享功能,非消耗和自动续订的订阅有了更清晰的用户角色标识。此外,Sandbox测试环境也进行了优化,包括回调URL、地区设置和安全性提升。


总结


StoreKit 2不仅提升了性能,还简化了购买流程,对于新应用和采用Swift5.5的开发者尤为友好。尽管对于旧应用和仍在使用StoreKit 1的客户端,迁移可能需要一些时间,但StoreKit 2的优势明显,尤其是对于处理交易丢失的问题和更新后的通信流程。


在选择StoreKit API时,务必考虑你的应用需求,如批量采购、旧版本兼容性以及Swift5的使用情况。StoreKit 2的出现,无疑为开发者提供了更高效和灵活的解决方案。

温馨提示:答案为网友推荐,仅供参考
相似回答