Android 应用内结算错误您需要登录您的 google 帐户

Android In-App Billing error You need to sign into your google account

我正在使用 https://github.com/anjlab/android-inapp-billing-v3 实现应用内购买。 但是在应用程序弹出窗口中打开它显示 "Error Authentication is required.You need to sign into your google account"。 我使用不同的设备进行测试,结果相同。

重要!我花了很多时间试图找出我收到错误 "Error Authentication is required.You need to sign into your google account" 的原因。几个小时后我发现——我试图从控制台访问错误的项目 ID。在开发者控制台订阅项目有 id "premium",我试图访问 "premium_version" 项目。愚蠢的错误,但来自 google 的错误绝对不能提供信息。希望这有帮助

在我的情况下,正确的产品都已在控制台设置,但未激活。

我遇到了同样的问题,为每个应用内购买项目使用了正确的产品 ID。我的应用已准备好在 Google Play 上发布(带有处于 Alpha 测试中的 APK),但尚未提交。解决方案是将应用提交给 Google Play Developer Console 团队审核。

希望对您有所帮助!

已解决,这只是产品 ID 错误,来自 Play 商店和应用内的产品 ID SKU_NAME 应用内结算应该相同。


iab示例项目中没有正确提及哪个是productId
SKU_GAS="gas"SKU_PREMIUM="premium"项目
然后
"gas""premium" 必须作为 productId 在 play-store 上可用.

确保您已使用测试帐户登录 Play 商店。重新启动 phone。它应该可以工作,至少在我的情况下需要重新启动。

在我的例子中,我的 base64EncodedPublicKey 不正确,而且我的 inapp 产品是 inactive。请确保您在应用程序中的产品 ID 与控制台中的相同。

确保您构建应用程序并使用与您签署上传到 Google Play Beta 频道的 APK 相同的密钥库签署应用程序。 我错误地使用了不同的 Keystores 进行签名,但没有注意到。

如果您正在使用 google 示例(如普通驱动器),则可能是因为旧的 .aidl 文件。接收最新版本以测试您的应用程序。

我为这个错误苦苦挣扎了几个小时。我的产品 ID 是正确的,应用程序已发布到 Alpha,我激活了 Alpha 测试人员列表,通过选择加入 link 但没有任何效果。

最后我发现您不能使用与 Developer Console 相同的 Gmail 帐户。就是这样,添加了另一个 gmail 帐户作为测试人员并使用它来下载应用程序并且没有更多的身份验证错误。

此外,仅注意对应用程序进行更改并构建调试版本会导致错误再次出现。只能使用已签名的发布 APK。

如果有人收到上述弹出窗口,您可以通过以下步骤重新检查,因为不幸的是,这个 google 弹出窗口提供的信息不足以提供线索。

  1. 确保您正确使用产品 ID(应与您在开发者控制台上输入的相同)
  2. 确保您在测试前已在开发者控制台上激活了产品。可能需要一段时间,所以等到它准备好。
  3. 确保您的应用程序版本处于 Beta、Alpha 或 Production 发布状态
  4. 记得在测试人员列表下添加测试电子邮件(设置 -> 测试人员列表 -> 创建列表)。测试电子邮件应与发布者帐户不同。
  5. 如果上述方法均无效,请尝试删除 phone 上的 google 帐户,然后重新添加并清除 Play 商店中的数据。

希望对您有所帮助:)