购买Android应用内结算订阅导致错误[DF-AA-20]

时间:2019-02-02 08:22:53

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

我有可供用户测试的应用内结算订阅,我想对其进行测试并确保其逻辑按预期工作。但是,我无法这样做。

注意:

有很多与应用内结算不相关的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无法找到的(p> 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服务)。

测试帐户还具有在下载前设置的银行卡付款方式。

  • 我继续购买订阅,然后显示以下内容:

enter image description here

我想念什么吗?

1 个答案:

答案 0 :(得分:0)

要进行测试,请使用SKU_ID或Product_ID作为“ android.test.purchased ”,

还有易于使用的库,请看

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