未收到 SkuDetails 列表

Not receiving SkuDetails List

我正在尝试测试我正在开发的应用的应用内订阅。问题是 SkuDetails 列表为空。我在文档中读到必须先将应用程序发布到 alpha,然后才能测试订阅内容。 据我了解,在应用程序发布到 alpha 后,我可以在设备上测试具有相同版本的构建并可以进行调试等等。我不需要从 alpha 下载发布版本。 一个可能的问题是应用程序似乎需要 Google 批准才能发布到 alpha(它具有待发布状态)。我不明白需要批准,因为它只是一个 alpha 版本。

现在我只是想获取 SkuDetails 列表。在 GooglePlay 控制台中,我设置了一个订阅并将其设置为活动。代码明智我有这个功能:

fun setupBilling(context: Context, callback: 
    (result: BillingResult,skuDetailsList: List<SkuDetails>) -> Unit) {

    billingClient = BillingClient.newBuilder(context)
        .enablePendingPurchases()
        .setListener(this).build()

    billingClient.startConnection(object : BillingClientStateListener {
        override fun onBillingSetupFinished(billingResult: BillingResult) {
            if (billingResult.responseCode == BillingResponseCode.OK) {
                    querySkuDetails(billingClient, callback)
            }
         }

         override fun onBillingServiceDisconnected() {
                // Try to restart the connection on the next request to
                // Google Play by calling the startConnection() method.
         }
    })
}

querySkuDetails 函数如下所示:

private fun querySkuDetails(client: BillingClient,
    callback: (result: BillingResult, 
               skuDetailsList: List<SkuDetails>) -> Unit) {
    val params = SkuDetailsParams.newBuilder()
    params.setSkusList(skuList).setType(BillingClient.SkuType.SUBS)
    client.querySkuDetailsAsync(params.build()) {
        billingResult, skuDetailsList -> 
            callback(billingResult,skuDetailsList)
            val msg = billingResult.debugMessage
            Log.d(TAG, "List Size: ${skuDetailsList.size}")
            Log.d(TAG, msg)
        }
    }

在上面的代码中,skuList 是一个字符串列表,其中有一个元素是我在 Play 控制台中的订阅标识符。

没有 debugMessage,列表大小始终为 0,即使它应该是 1。

感谢任何帮助。

谢谢! 拉兹万

我在 Google Play 上上传 Alpha 版本 4 天后,Google 批准了它,现在一切正常。所以我唯一要做的就是等待 Google 批准该应用程序(即使它只是一个 alpha 版本)。