2

我遵循了本指南https://developers.google.com/admob/ump/android/quick-start,我的代码如下所示:

    private fun checkForConsent() {
/*
        val debugSettings = ConsentDebugSettings.Builder(this)
            .setDebugGeography(ConsentDebugSettings.DebugGeography.DEBUG_GEOGRAPHY_EEA)
            .addTestDeviceHashedId("69887E2CBBE5346EC3B54A3FD207AB41")
            .build()
        val params = ConsentRequestParameters.Builder()
            .setConsentDebugSettings(debugSettings)
            .build()
        */


        Log.d("adstuff", "check Consent")
        val params = ConsentRequestParameters.Builder().build()
        // Set tag for under age of consent. Here false means users are not under age
        //Log.d("adstuff", params.isTagForUnderAgeOfConsent.toString())

        consentInformation = UserMessagingPlatform.getConsentInformation(this)

        //consentInformation.reset();
        consentInformation.requestConsentInfoUpdate(
            this,
            params,
            object : ConsentInformation.OnConsentInfoUpdateSuccessListener {
                override fun onConsentInfoUpdateSuccess() {
                    // The consent information state was updated.
                    // You are now ready to check if a form is available.
                    Log.d("adstuff", "Is consentform available")
                    Log.d("adstuff", consentInformation.isConsentFormAvailable.toString())

                    if (consentInformation.isConsentFormAvailable) {
                        Log.d("adstuff", "Consentform is available")

                        loadForm()
                    }
                }
            },
            object : ConsentInformation.OnConsentInfoUpdateFailureListener {
                override fun onConsentInfoUpdateFailure(formError: FormError) {
                    // Handle the error.
                    Log.d("adstuff", "content info update failure")
                    Log.d("adstuff", formError.toString())

                }
            })
    }

但是,consentInformation.isConsentFormAvailable 返回 false。我创建了一个 AdMob 帐户和一个 Funding Choices 帐户,并在其中创建并发布了 Consent TCF 类型的消息。我还在 Android 清单中添加了 ca-app-pub ID。

谢谢

编辑:如果我使用调试设置将位置设置为 EEA,就像在注释代码中一样,同意信息更新将失败。

4

1 回答 1

2

在您的手机中转到设置>隐私>高级>广告并关闭“退出广告个性化”

于 2021-03-25T10:49:05.880 回答