IAP 在 alpha 版本中发布到 Play 商店后不起作用

She*_*ode 5 android mobile-application in-app-purchase in-app-billing flutter

我正在开发具有 In-app-Purchases 功能的 flutter 应用程序,我在开发人员控制台中创建了非消耗品产品(一次)。我正在使用官方 flutter 包在应用程序中实现 IAP - https://pub.dev/packages/in_app_purchase

  • IAP 产品在播放控制台中处于活动状态
  • 我上传了正确的APK版本和版本码
  • 我的应用程序处于已发布状态
  • 我在帐户设置下添加了许可证测试人员来测试 IAP。
  • 我的 androidManifest.xml 文件使用正确的用户权限进行了更新。

当我在本地测试 IAP 时它运行良好,我能够正确测试 IAP。但是在我在 Alpha 版本下将相同的(生成的应用程序包)发布到 Play 商店后,它不起作用。如果我使用 abd logcat 检查日志,那么我只会得到以下与计费相关的行

BillingClient:客户端已经在连接计费服务。

我不确定,在添加 IAP 之后生成应用程序包之前,我是否应该专门进行任何应用程序签名。我只是使用我在以前版本中使用的现有密钥信息来进行应用程序签名。

请让我知道是否有人可以帮助解决这个问题,如果需要任何其他信息,我可以分享

She*_*ode 2

现在 IAP 功能可以在我的 flutter APP 中运行(Alpha、Beta、Production),问题出在代码中。当我们尝试连接到商店时,我们有此代码来检查商店的可用性。

final bool available = await InAppPurchaseConnection.instance.isAvailable();
Run Code Online (Sandbox Code Playgroud)

我只是检查了一次,如果商店可用,我进一步编码了高级功能逻辑。但这总是在本地有效,但发布的 alpha/beta 版本永远不会有效。所以我只是改变了我的代码,如下所示。

if(!available)
{
    //try to connect again
    await InAppPurchaseConnection.instance.isAvailable();
}
Run Code Online (Sandbox Code Playgroud)

在这里,我只是尝试再次连接商店,如果第一次失败。因此,一开始我们并不总是得到正确的响应,多次尝试与商店连接有助于 IAP 工作。我把逻辑检查连接3次。希望这可以帮助!