0

如何在我的应用程序中测试真实购买而不向公众发布?我需要在应用程序中完成对订阅逻辑的测试和调试,但我无法摆脱沙盒。

我正在使用 Ionic 4 和 RevenueCat 的 Purchases Cordova 插件。

沙盒测试进展顺利。删除应用程序后,我可以购买物品并按预期恢复它们。我不知道重复购买是如何工作的。我想测试这个新应用版本对旧用户的反应,并能够恢复以前的购买。

我希望能够通过真实的生产收据查看从商店退回的产品。无论我尝试什么,Apple 都会将我扔进沙箱。在直接构建到设备并作为 App Store Connect Test Flight 用户时,该应用程序会继续进行沙盒或 beta 测试购买。

我正在尝试完成应用程序的逻辑,但我没有取回我期望为生产用户提供的数据。

测试用例:
我们提供 2 种非续订订阅:1 个月和 1 年。用户最初在 2016 年 2 月购买了 1 个月,然后反复购买了 1 年。我预计历史上会出现 1 次 1 个月的购买和 5 次 1 年的购买。

当前结果:
getPurchaserInfo 方法返回一个对象。重复购买沙盒只是不断更新该订阅类型的日期,而不是添加到对象或使用数组。

"allPurchaseDates": {
    "1YearSub": "2020-04-08T21:45:03Z",
    "30DaySub": "2020-04-07T17:00:44Z"
},

期望:
getPurchaserInfo 方法返回一个完整历史的数组,无论是在沙盒中还是在生产中。

"allPurchaseDates": [
    {"1YearSub": "2020-04-10T21:45:03Z"},
    {"1YearSub": "2019-04-12T21:45:03Z"},
    {"1YearSub": "2018-04-14T21:45:03Z"},
    {"1YearSub": "2017-04-16T21:45:03Z"},
    {"1YearSub": "2016-04-18T21:45:03Z"},
    {"30DaySub": "2016-03-19T17:00:44Z"}
],

在真实设备上使用合法 AppleId 用户进行测试:iOS 13.4、13.3.1、13.4.1

"@ionic-native/purchases": "^5.23.0"
"cordova-plugin-purchases": "^1.1.0"
Ionic CLI                     : 5.4.2 (/usr/local/lib/node_modules/ionic)
Ionic Framework               : @ionic/angular 4.11.8
Cordova CLI       : 8.1.2 (cordova-lib@8.1.1)
Cordova Platforms : ios 5.0.1
NodeJS            : v10.16.3 (/usr/local/bin/node)
npm               : 6.11.3
OS                : macOS Catalina
Xcode             : Xcode 11.4 Build version 11E146

谢谢

4

1 回答 1

1

除非您发布应用程序,否则您无法测试生产收据。没有办法解决这个问题。

如果您已经在商店中有一个应用程序并且不希望人们使用应用程序内购买,我建议使用仅对您的特定用户启用应用程序内购买的功能标志。

如果您还没有应用程序,我建议您仅在您的国家/地区进行软启动,如果您不以某种方式宣传它,您很可能不会获得任何下载。

于 2020-07-22T19:31:57.320 回答