【发布时间】:2019-02-02 08:22:52
【问题描述】:
我有 应用内计费 订阅可供用户使用,我想对其进行测试并确保逻辑按预期工作。但是,我无法这样做。
注意:
有许多与应用内结算相关的 SO 问题无法正常工作,特别是针对此错误:
从服务器 [DF-AA-20] 检索信息时出错
如可以找到:
-here,和
-[here][2],和
-here,和
- here
总结,所有解决方案都与需求的某些缺失部分相关。
一个突出的问题是应用程序在测试时没有发布到Alpha test track(我已经这样做了)。 这将在后面的帖子中详细说明。
文档:
实施
在 Android 应用中实施应用内计费的要求如下:
-
在模块级 gradle 文件中添加最新的
BillingClient:
tutorial 建议:
`implementation 'com.android.billingclient:billing:1.2.1`
Gradle 找不到(2019 年 2 月 2 日)
我的作品与:
`implementation group:'com.android.billingclient', name:'billing', version:'1.2'`
-
实施
BillingClient为 Android (Google) 计费服务提供接口以进行购买。
这在详细的分步教程中定义here
测试:
在 Android 应用中测试您的In-App Billing 的要求如下:
用于单人测试
对于
In-App purchases单独测试,可以使用定义的静态测试响应here 进行测试
订阅不能单独测试,需要有其他条件
注意:静态响应不能用于测试订阅。
与测试人员一起测试 (see here for more)
- 为测试创建一个开放/封闭轨道并添加您希望允许进行测试的测试人员。将应用程序上传到相关的测试轨道,您必须发布。无法将应用作为草稿上传
注意:以前您可以通过上传未发布的应用来测试应用 “草稿版本。不再支持此功能。然而, 您甚至可以在上传之前使用静态响应测试您的应用 到 Google Play 商店。有关详细信息,请参阅使用静态测试 回复。
详情请见here,
注意: 为了进行测试,应用程序必须至少在测试轨道上发布。这使得订阅可用于该版本的应用程序。
注 2: 似乎不同的用户在与他们的开发者帐户相同的 Google 帐户上进行测试时遇到了问题。确保使用与您的开发人员帐户不同的不同测试人员帐户。详情请见here
注意 3 我看到文档提到了用于许可的公钥,但应用内购买教程在实施过程中不需要它。我不确定这是否导致了我的问题
问题:
按照上述所有步骤操作后,我无法成功购买订阅。
- 我将测试应用程序下载到模拟器(Google Play 服务处于活动状态)。
测试帐户在下载之前还设置了卡付款方式。
- 我继续购买订阅,然后显示如下:
我错过了什么吗?
【问题讨论】:
-
我不熟悉问题,但我们总是使用公共许可证密钥来实现。
-
@AbhayKoradiya 您能否提供一个示例,说明公共许可证密钥将在何处以及如何在
BillingClient或其他方式中实施。 -
您在发布应用程序之前添加了测试人员吗?如果不是,那么它也可能是一个问题。
-
@SnehaSarkar 测试人员已在初始版本中添加。为了确认他们可以访问测试应用,他们可以看到我在发布测试应用时添加的更新说明。
-
如果您将应用程序下载到真机而不是模拟器,它是否有效?你是如何安装应用程序的——通过sideload还是从Play商店?如果是通过 sideload,如果从 Play 商店安装会发生什么?
标签: android in-app-purchase in-app-billing