在发布应用程序和使用 Billing Library v3 之前,我尝试在我的应用程序中测试实际购买情况。我在购买之前在其他设备上购买过的商品时遇到问题。
这是我的行为:
- 我签署了 .apk 并将其上传到开发人员控制台;
- 我补充说 实际购买项目到上传的 .apk;
- 我将我的非开发人员 gmail 帐户添加到开发人员控制台中的测试帐户。这 帐户在两个测试设备上都用作主帐户;
- 我将已签名的 .apk 上传到两个测试设备;
- 我在第一台设备上运行应用程序并购买了商品 - 一切正常;
- 现在我正尝试在其他设备上运行该应用程序。在启动时 应用程序检查已进行的购买。它说 之前购买的商品为空!但如果我再次尝试购买 在第二台设备上,它会返回“您已经购买了此商品”作为响应;
这是未发布的应用程序或测试帐户的问题吗?我确定发送的“开发人员有效负载”字符串在两个设备上是相同的,但我认为情况并非如此,因为在第二个设备上它不会事件检查有效负载,它只是在 inventory.getPurchase(SKU_OF_THE_ITEM) 上返回 null 作为响应对于 queryInventoryAsync()。
有人遇到同样的问题吗?
最佳答案
看来问题已经解决了。我的第二台设备上有 2 个帐户,我在未启动 Google Play 应用程序的情况下从辅助帐户切换到主帐户。它必须至少启动一次 - 它会显示某种“接受协议(protocol)”框,接受后应用程序中的购买将得到正确处理。希望这对某人有帮助。
关于使用同一测试帐户在多台设备上进行 Android 应用内结算 v3 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16211841/