BillingClient.launchBillingFlow() returns "The item you requested is not available for purchase" 仅在一台设备上,所有 Google 帐户

BillingClient.launchBillingFlow() returns "The item you requested is not available for purchase" on one device only, all Google accounts

我正在开发一款使用应用内结算的应用,并且已经在三种设备上进行了测试:Pixel 2 运行 Android 10、Samsung Galaxy Note 4 运行 Android 6.0.1 和三星 Galaxy Note 8 平板电脑 运行 Android 4.4.2。我首先使用 Google 测试产品 ID(android.test.purchased、android.test.canceled 和 android.test.item_unavailable)进行了测试,一切正常 运行;在任何设备上都没有问题,所以我使用我的真实产品 ID 进行了测试。这次,应用 运行 在 Pixel 2 和 Note 4 上运行良好,但在平板电脑上,调用 BillingClient.launchBillingFlow() 时出现上述错误。当我使用所有测试帐户登录并且仅在 Note 8 上登录时,就会发生这种情况。

我在 Whosebug 上搜索了这个问题,但没有找到任何匹配项。有人在使用 4.4.2 设备时遇到同样的问题吗?

看起来这是一个 OS 问题。在我能够使用选择加入 link 重新安装应用程序后(这是一个单独的问题,今天才解决),问题就消失了。

这个问题也发生在我身上,原因是您的订阅不活跃。它需要处于活动状态才能使 launchBillingFlow 正常工作。令人困惑的是,您可以查询 then 并在不活动时从 then 正确获取信息。但是,即使是测试,也需要激活它们才能测试购买过程。