如何在模拟器上测试应用内购买?

11

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

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

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

要测试应用内购买,您必须将应用程序安装在Android设备上。您不能使用Android模拟器来测试应用内购买。您用于测试的设备必须运行标准版本的Android 1.6或更高版本平台(API级别4或更高),并安装最新版本的Android Market应用程序。

2022年更新

最近重新检查:

即使我们模拟一个针对 Google Play 的系统镜像(而不是 Google APIs),更新 Google Play 服务到最新版本,并成功地按照“Google Wallet”应用程序和/或“Google Pay”应用程序的添加信用卡表单,该应用程序仍然只显示消息,而不是将信用卡添加为付款方式。

screen-shot

请注意,该消息有些混淆,因为我们试图添加信用卡,并没有尝试使用“轻触付款”。

你尝试过在模拟器上运行应用程序吗?只要你不打算使用应用内购买功能,就不应该有任何问题。你的应用程序还应该能够检测到应用内购买是否可用,并在没有可用的情况下仍然以有限的方式运行。 - cygery
我尝试了一下,但是这个应用在模拟器上无法运行,因为它依赖于谷歌服务。 - Dimitri Dewaele
使用带有Google API的AVD(请参阅文档)。 - cygery
问题在于应用程序无法在模拟器中启动,因为该模拟器不是真实设备,而应用程序需要与附加到真实 Google 帐户的真实 Google 服务进行通信。应用内购买检查用户已经拥有/购买的服务。 - Dimitri Dewaele
如上面我链接的文档所述,您必须检查Google Play服务的可用性。无论如何,它还说可以使用带有Google API的AVD来测试运行Android 4.2.2+。我不确定是否需要Google帐户。在模拟器中运行时,您应该尝试禁用所有应用内计费功能,例如使用动态检查。 - cygery
1个回答

6
  1. 在支持谷歌服务API的系统映像上安装已经安装了Google Play商店的模拟器。

我的模拟器规格:

Pixel 3a API 31
ABI: x86_64
System image: Android API 31 (Google Play)
  1. 在Google Play商店控制台中创建一个封闭测试轨道

  2. 将您的Gmail添加到许可测试和封闭测试电子邮件列表

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

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

  5. 在启动模拟器时,作为第一件事请使用测试人员帐户登录Gmail应用程序

  6. 浏览封闭测试邀请网址,并接受邀请以参加封闭测试轨道

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

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

对于第2至第4步,您可以参考RevenueCat提供的精彩文档:https://docs.revenuecat.com/docs/google-play-store


你真是救星!我忘记在构建脚本中为开发构建添加“.dev”包前缀了。 - Emperor Orionii

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接