【问题标题】:Is it possible to test In App Billing in an Android App connected to and running from Android Studio是否可以在连接到 Android Studio 并从其运行的 Android 应用程序中测试应用内计费
【发布时间】:2013-08-01 17:04:01
【问题描述】:

我正在构建一个 Android 应用并集成 In App Billing。

我正在使用 Google here 推荐的 IabHelper 类。

使用 IabHelper 的 queryInventoryAsync 方法获取可用产品的信息(例如价格)可以正常工作(我获取了我在 Google Play 开发者控制台中设置的产品的产品/价格信息)。

在测试购买“托管”产品时,我遇到了两个错误。

当我点击“购买”按钮购买我刚刚成功检索到定价信息的产品时,出现第一个错误,我收到来自 Google Play 的警报,提示“错误:此版本的应用程序未配置为通过 Google Play 计费。有关详细信息,请查看帮助中心”。

谷歌搜索这会产生一些建议,如果上传到 Google Play 的 apk 的版本号与我正在测试的 apk 的版本号不同,就会发生这样的错误。但令人困惑的是,在显示此警报后(以及在我单击确定后),我从未收到有关购买尝试失败的通知。

当我再次点击“购买”按钮重新尝试购买时,这会产生第二个错误。应用程序崩溃是因为 IabHelper 不允许同时激活两个异步操作(第一次失败的尝试永远不会被取消,因为应用程序永远不会发出失败警报,谷歌请阅读此内容)。

问题 1:我是否应该做一些不同的事情来取消第一个不成功的购买异步操作(并提醒应用程序以便它可以响应)?显然我会确保版本号是同步的,但这似乎是一个错误。绝不应允许操作在失败时不被取消。

问题 2:一般来说,是否可以在 Android Studio 以调试模式运行时测试应用内计费?即我可以连接我的设备,在 Android Studio 中点击“在调试中运行”,然后使用断点单步执行代码吗?还是只能在未连接到 Android Studio / 调试器时测试应用内计费? (如果不可能,这将是一种疯狂,但我读过的一些东西表明情况就是这样)。

提前感谢您的任何提示!

编辑:事实证明,当我在上传到 Google Play 购买的设备上安装相同的 apk 时,效果很好。但问题仍然存在:您能否在附加到 android studio 调试器时不测试应用内计费?

【问题讨论】:

    标签: java android in-app-purchase android-studio in-app-billing


    【解决方案1】:

    除了静态购买测试项目外,您通常无法再在调试模式下测试应用内计费功能。您必须使用应用的发布版本并在 Play 开发者控制台上完成应用设置。

    因此,回答您的主要问题,虽然您可以在应用程序的调试模式下跟踪购买功能的整体流程,但在使用调试器时您将无法测试成功的交易。

    【讨论】:

      猜你喜欢
      • 2016-07-06
      • 2011-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-13
      • 2017-09-28
      相关资源
      最近更新 更多