如何使用调试APK测试Android Pay?

13

默认情况下,Android Pay拒绝在调试构建中工作,这使得测试变得棘手。到目前为止,我们所做的就是将新代码合并到develop或hotfix分支中,以便我们的构建环境生成可供测试的已签名APK文件。这不是理想的解决方案。

https://developers.google.com/android-pay/get-started指出:“注意:我们的测试环境不会在FullWallet响应中返回实时的可收费令牌,但会允许我们测试您的购买预流程。在您的应用程序具有生产访问权限之前,您将在Android Pay选择器上看到一个未识别应用程序错误。” 这并不是很有前途。

https://developer.android.com/google/play/billing/billing_testing.html建议使用专门配置的“保留产品ID”静态响应进行测试,这可能会很麻烦,并且不是真正的测试。他们提供的另一种选择是将应用程序发布到alpha或beta通道,这当然是一个已签名的APK。 https://stripe.com/docs/mobile/android提出了一个“TEST_GATEWAY_TOKEN”的建议,但不能帮助学习如何在测试中使用Android Pay。

我们甚至与Google的开发者倡导者交谈,但他只是复制粘贴了一些相同的文档。

有没有办法在未签名的构建中进行良好的测试?能够在本地开发人员机器上成功测试Android Pay功能将是很好的。


你可能需要在Gradle中创建buildVariant,并添加签名信息以在本地机器上创建已签名的APK文件。 - mohax
那么换句话说,制作一个已签名的APK文件? - Chad Schultz
是的,请创建签名版本。根据我的理解,您的问题是解决在本地机器上进行测试的问题。但也许我有所遗漏。 - mohax
问题是如何使用未签名的APK进行测试 :) 我们目前的流程不允许开发人员机器上存在签名证书/密码。此外,未签名的构建将更容易调试,因此我想知道是否有方法。 - Chad Schultz
1
据我理解,使用调试 APK 是无法进行测试的。也许您可以使用非生产发布密钥来进行测试? - mohax
我猜支付API需要已签名APK的密钥来识别交易,因此没有签名APK,也就没有密钥和ID,那么谁会收到钱呢?;) - AxelH
2个回答

1

是的,但你必须将其提交到您的Play帐户中的Alpha或Beta版。不过,这个解决方案真的很差。 - Fred Grott

1

很遗憾,你只有一种测试IAP的方法:

  1. 将测试权限授予在设备上使用的Google帐户
  2. 构建.apk文件。
  3. 将其作为Beta版本上传到您在GoolePlay上的帐户中
  4. 等待上传的.apk处理完成
  5. 尝试执行所需的操作并检查它。
  6. 如果有任何问题,请修复它们并从第2步开始

当然,使用开发者密钥。 - Vlad

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