【问题标题】:How to test In-app Billing on an emulator?如何在模拟器上测试应用内计费?
【发布时间】:2014-11-23 20:29:31
【问题描述】:

是否可以禁用应用内计费/购买并在 Android 模拟器上测试我的应用程序?我想在多个模拟器上对我的应用程序进行一些功能测试。 稍后我会在真实设备上测试“应用内计费”。

有人有经验吗? 我该怎么做?

来自谷歌: http://developer.android.com/guide/market/billing/billing_testing.html

要在应用程序中测试应用内计费,您必须安装 Android 设备上的应用程序。您无法使用 Android 模拟器来测试应用内计费。您用于测试的设备必须 运行标准版本的Android 1.6或更高平台(API级别 4 或更高版本),并拥有最新版本的 Android 电子市场 已安装应用程序。

【问题讨论】:

  • 您是否尝试仅在模拟器上运行该应用程序?只要您不尝试使用应用内计费功能,就不会有任何问题。您的应用还应该能够检测应用内结算是否可用,如果不可用,仍然可以(以有限的方式)运行。
  • 我试过了,但该应用程序无法在模拟器上运行,因为它依赖于谷歌服务。
  • 将 AVD 与 Google API 结合使用(请参阅 documentation)。
  • 问题是应用程序没有在 de AVD 中启动,因为这个 AVD 不是真正的设备,应用程序需要与真正的谷歌服务通信,附加到一个真正的谷歌帐户。应用内结算检查用户已经拥有/购买了哪些服务。
  • 如我上面链接的文档中所述,您必须检查 Google Play 服务的可用性。无论如何,它还说可以使用带有运行 Android 4.2.2+ 的 Google API 的 AVD 来测试它们。我不确定 Google 帐户的要求。在模拟器中运行时,您应该尝试禁用所有应用内计费功能,例如,使用动态checks

标签: android billing in-app


【解决方案1】:
  1. 在支持 google service api 的系统镜像上安装已经安装了 google playstore 的模拟器

我的模拟器规格:

Pixel 3a API 31
ABI: x86_64
System image: Android API 31 (Google Play)
  1. 在 google playstore 控制台中创建 closed testing track

  2. 将您的 gmail 添加到 license testing 并关闭测试电子邮件列表

  3. 等待您的封闭式测试获得批准并可供测试人员使用。

  4. 如果您使用的是现有模拟器,请擦除数据并冷启动

  5. 在启动模拟器时,首先在 gmail 应用程序中以测试人员帐户身份登录

  6. 浏览封闭式测试邀请网址,并接受参与封闭式测试轨道的邀请

  7. 重要提示 确保您使用相同的应用程序 ID(例如 com.your.company.app)、版本代码(例如 1.3.0)和版本名称(也称为内部版本号)作为封闭测试二进制文件。

  8. 就是这样。在模拟器中测试付款。

关于第 2 ~ 4 步,您可以参考来自收益猫的这篇精彩文档:https://docs.revenuecat.com/docs/google-play-store

【讨论】:

    猜你喜欢
    • 2011-08-12
    • 2012-06-17
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    相关资源
    最近更新 更多