【问题标题】:Android In-App Billing Subscription purchase gives error [DF-AA-20]Android 应用内结算订阅购买出现错误 [DF-AA-20]
【发布时间】: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

  • 一次性订阅有更详细的解释here

  • 订阅购买按预期工作,但订阅时间大大缩短以模拟订阅时间。详细阅读here

注意: 为了进行测试,应用程序必须至少在测试轨道上发布。这使得订阅可用于该版本的应用程序。

注 2: 似乎不同的用户在与他们的开发者帐户相同的 Google 帐户上进行测试时遇到了问题。确保使用与您的开发人员帐户不同的不同测试人员帐户。详情请见here

注意 3 我看到文档提到了用于许可的公钥,但应用内购买教程在实施过程中不需要它。我不确定这是否导致了我的问题

问题:

按照上述所有步骤操作后,我无法成功购买订阅。

  • 我将测试应用程序下载到模拟器(Google Play 服务处于活动状态)。

测试帐户在下载之前还设置了卡付款方式。

  • 我继续购买订阅,然后显示如下:

我错过了什么吗?

【问题讨论】:

  • 我不熟悉问题,但我们总是使用公共许可证密钥来实现。
  • @AbhayKoradiya 您能否提供一个示例,说明公共许可证密钥将在何处以及如何在BillingClient 或其他方式中实施。
  • 您在发布应用程序之前添加了测试人员吗?如果不是,那么它也可能是一个问题。
  • @SnehaSarkar 测试人员已在初始版本中添加。为了确认他们可以访问测试应用,他们可以看到我在发布测试应用时添加的更新说明。
  • 如果您将应用程序下载到真机而不是模拟器,它是否有效?你是如何安装应用程序的——通过sideload还是从Play商店?如果是通过 sideload,如果从 Play 商店安装会发生什么?

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


【解决方案1】:

对于测试,使用 SKU_ID 或 Product_ID 作为“android.test.purchased”,

还有好用的库,看看

https://github.com/anjlab/android-inapp-billing-v3

【讨论】:

  • 是的,但正如我在solo-tests 下的帖子中所述,android.test.purchased 仅用于应用内购买(一次性购买)。简短的单独测试一次性购买说明后的要点显示Static responses cannot be used to test subscriptions.。如前所述,我的应用使用订阅,而不是一次性购买。
  • 我明白先生,看看图书馆链接,他们也提供订阅支持,他们也存储历史。希望对你有帮助
  • 我已经为 BillingClient 实现了自己的包装器。代码不是问题。问题在于谷歌方面的响应,订阅不可用或其他一些与代码无关的问题。所以,不管我用什么代码/库,都解决不了。
猜你喜欢
  • 1970-01-01
  • 2019-05-02
  • 1970-01-01
  • 2012-12-01
  • 2011-12-26
  • 2011-08-11
  • 1970-01-01
  • 2017-10-29
  • 1970-01-01
相关资源
最近更新 更多