新添加的应用内 SKU 在 Play 控制台中激活后何时可用于 billingclient 2.0.1?

When newly added in-app SKU becomes available to billingclient 2.0.1 after making it active in Play console?

我在 SO 中找不到这个具体问题。我发现的内容与首次应用内设置有关。

但就我而言,该应用程序已投入生产多年。 它的 SKU A、B、C 处于活动状态,可用于 甚至尚未发布的发布版本中进行测试

现在我添加了一个新的 SKU "D"。需要做什么才能使其可用于测试?

昨天我创建了一个新的应用内商品,并在 google 游戏机上将其设为 活跃。现在我不清楚billingclient 何时会从播放服务收到此更新。

据我了解,here 需要将新应用发布到开放或封闭测试轨道。

我也做过。 5 小时前发布在 Alpha 轨道上。通过测试 link 通过 Play 商店下载(通过测试 google 帐户选择加入)。新 SKU 仍未出现在日志中。

我仔细检查了找到的所有要求 here(下面的回顾部分)。

我正在使用 com.android.billingclient:billing:2.0.1 以及 TrivialDriveKotlin

中所示的存储库和 LiveData 设置

找到 但不是同一个问题。

我花了很多时间才发现错误,我的错误。

问题在于 TrivialDriveKotlin 带有 Room、大量 DAO 和 LiveData 的示例的超复杂设置。

对示例的初步理解可能需要几个小时,但随后您就可以让代码正常工作,而不必理会它。

当你回来添加新的SKU时,你需要在这几个地方添加它类:

  • Entitlements.kt
  • EntitlementsDao.kt
  • LocalBillingDb.kt
  • BillingRepository.kt
  • BillingViewModel.kt

受影响的地方太多了,很容易忘记其中一个。在我的例子中,我忘记将它添加到 INAPP_SKUS 列表中,该列表在 querySkuDetails 调用中使用。

绝对值得考虑重构以统一。