'需要身份验证。在测试IAB

时间:2015-08-23 11:23:40

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

我一直在为Android开发一款简单的游戏,在使用app app时遇到了很多问题。要执行IAB,我使用TrivialDriveExample here中提供的实用程序类。我已相应地复制和修改了此示例中提供的MainActivity类中的代码以使用IAB。我还跟踪了android开发者页面上的文档,这些文档描述了如何在开发人员控制台上设置IAB。

但是,当尝试使用以下代码测试在应用中购买产品时,我会收到问题标题中描述的错误。

helper.launchPurchaseFlow(game.getActivity(), sku, RC_REQUEST, getPurchaseListener(game));

(其中helper是上面谷歌代码链接中提供的IabHelper类的实例,RC_REQUEST是一个常量设置为10001,如普通驱动器示例中的MainActivity所示,其中sku是sku的sku产品 - 如开发人员控制台中所示。这里,getPurchaseListener返回IabHelper.OnIabPurchaseFinishedListener的实例(在示例代码的util包中提供)。

我确定:

  • sku是正确的,与开发者控制台上提供的完全相同。
  • 以alpha身份上传到开发者控制台的APK与设备上安装的APK相同(并使用我的开发人员密钥而不是调试密钥进行签名)。
  • 我的帐户和所有使用过的测试帐户都在注册进行Alpha测试的Google群组和从开发者控制台收到LICENSED响应的帐户列表中。
  • 代码中使用的每个对象!= null
  • 我可以在我的应用上测试Google Play游戏服务(成就和排行榜)。
  • 这与我正在开发的应用程序有关,因为IAB适用于其他应用程序(使用Clash of Clans和Infectanator进行测试)。

我尝试了什么:

  • 从我的设备中删除我的开发者Google帐户,只留下一个测试帐户(+等待一夜之后我的设备上没有安装我的开发者帐户,然后在早上使用我的测试帐户进行测试)。
  • 清除所有Google Play数据和缓存。
  • 重新启动设备/重新安装应用程序。

我在尝试使用android的测试购买时也会遇到另一个错误(使用sku'android.test.purchase')。我明白了:

Error while retrieving information from server [DF-DFERH-01]

如上所述,我已经清除了Google Play数据,删除了我的帐户并再次添加,重新启动了我的设备并重新安装了该应用。同样,这只发生在我当前正在开发的应用中,而不是在IAB的任何其他应用中。

修改 请注意,我已经查看了其他人对此错误的疑问,并尝试了提供的解决方案无济于事。

1 个答案:

答案 0 :(得分:2)

集成了 IAB的应用程序必须 才能为Play商店启用结算功能,只要它在草稿中就无法运行 - 文档似乎不太清楚。

所以,请确保您实际发布了应用程序(不用担心,如果您只有alpha和/或beta版本,它不会在Play商店中列出简单的凡人),并且像往常一样,让Play商店吸收一些时间。

<强> Same answer here