前几天WWDC2020, 里面提高了一个关于内购的新特性 StoreKit Testing
开发过iOS订阅的同学都应该能体会到测试订阅有多难受, 尤其是关于跨级, 取消, 退款这些操作根本没办法模拟, 只能上线后, 在线上进行操作. 现在苹果爸爸终于倾听了用户的反馈, 现在新增了StoreKit Testing方便研发来测试代码, 下面进入正题吧
摘要
- 你可以先将StoreKit产品设置为先在Xcode中进行测试,然后再将其添加到App Store Connect中.
- StoreKitTest.framework与XCTest一起使用,可以对在Xcode的新Local StoreKit环境中运行的应用内购买进行单元测试和UI测试。
- 本地环境中的StoreKit Transaction Manager可以控制退款,取消,购买许可,购买中断/失败以及其他重要测试场景。
- 可调整续订速度,以加快测试周期。
- 开发人员的沙箱环境的新订阅管理选项允许进行更彻底的设备测试。
新功能
StoreKit Configuration File
介绍
- XCode中的新文件类型(JSON编码)
- 允许开发人员从Xcode配置SKProducts进行测试。
- 开发人员使用产品ID,订阅组,介绍优惠等设置StoreKit文件。通常,这是你通常在App Store Connect的“应用内购买”部分中配置的内容。
它与Scheme绑定,并通过编辑Scheme,然后运行, 接着选择一个StoreKit配置。
用处
- 在App Store Connect中配置产品或发布之前,你将能够测试产品的外观和性能。
- 你将能够测试许多以前只能在线上环境中使用的功能,例如跨级,中断续订等等。
- 该文件还将用于自动化测试。
重要提示
使用本地StoreKit配置文件生成的收据将使用特定的应用程序证书进行签名。该证书可以从StoreKit配置编辑器菜单中导出,你必须使用它来进行验证。
用模拟器购买
现在可以使用iOS模拟器在本地StoreKit环境中测试购买
用处
- 你可以在没有设备的情况下测试应用内购买。
- 你现在可以编写进行购买的自动化测试。
- 必须在方案中选择StoreKit配置文件,以便购买的产品可以在Simulator中使用。
- 该提示与线上环境的提示非常相似,其漂亮的UI显示了产品的所有详细信息。真机上也会如此展示
StoreKitTest Framework
介绍
- 这是一个用于自动化测试的新框架,它将允许对StoreKit Local环境进行完全控制。
- 它还使用相同的StoreKit配置文件。
- 它可以进行购买而无需用户交互。
用处
新框架可用于创建非常完整的集成测试。您可以使用它来模拟成功,失败,被打断,外服购买和订阅优惠的购买。
New Sandbox Controls on Device
期待已久的新功能啊~~~~~~~
介绍
- iOS设置的“沙箱帐户”部分中有一个新选项,称为“管理”。
- 该选项将带您到可以启用/禁用续订收据. 以及查看沙箱帐户有效订阅的部分。
- 进入活动的订阅,你会得到一个类似于iOS的“管理订阅”页面的页面,并允许你更改为其他订阅。其实就是跨级
-
有一个名为“重置资格”的仅限沙盒的按钮,该按钮可让你重置沙盒用户的推介促销优惠资格。每次你要测试推介促销优惠的时候,都无需再创建新的沙箱帐户!!!🎉
其他的测试工具
1. 加快订阅期: 你可以选择沙箱订阅的订阅期
2. 管理来自Xcode的交易. 你可以在Xcode中查看用户的所有交易, 并且可以在该界面执行跨级, 取消订阅, 退款并模拟中断的购买
这些新工具和功能特别方便iOS开发订阅开发时进行测试. 跪谢苹果爸爸
链接
https://developer.apple.com/videos/play/wwdc2020/10659/
https://www.revenuecat.com/blog/storekit-testing-in-xcode