在以Alpha版本发布到Play商店后,IAP无法正常工作

时间:2019-12-30 08:37:39

标签: android flutter in-app-purchase in-app-billing mobile-application

我正在开发具有应用程序内购买功能的flutter应用程序,我已经在开发人员控制台中创建了一次(非一次性)产品。我正在使用官方flutter软件包在应用程序https://pub.dev/packages/in_app_purchase中实施IAP。

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

当我在本地测试IAP效果很好时,我就能够正确测试IAP。 但是当我在Alpha版本下将相同的(生成的App包)发布到游戏商店中后,它不起作用。如果我使用abd logcat检查日志,那么我得到的是与帐单相关的以下行

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

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

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

1 个答案:

答案 0 :(得分:0)

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

final bool available = await InAppPurchaseConnection.instance.isAvailable();

我只是检查一次,如果商店可用,我会进一步编码高级功能逻辑。但这始终在本地有效,但是已发布的alpha / beta版本则永远无效。 所以我只是像下面那样更改了代码。

if(!available)
{
    //try to connect again
    await InAppPurchaseConnection.instance.isAvailable();
}

在这里,我只是想再次连接商店,如果第一次失败。因此,起初我们始终无法获得正确的响应,尝试多次与商店连接有助于IAP的工作。我把逻辑检查了3次连接。希望这会有所帮助!