最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

android - Some ad requests on your inventory from the EEA, the UK, or Switzerland are missing a TC string, admob error - Stack O

programmeradmin4浏览0评论

I've implemented CMP "a certified consent management platform (CMP)".according to admob request, I followed google implementation here: But I am still getting error from admob console "Some ad requests on your inventory from the EEA, the UK, or Switzerland are missing a TC string"

Main activity code as below:

        googleMobileAdsConsentManager =
            GoogleMobileAdsConsentManager.getInstance(getApplicationContext());
    googleMobileAdsConsentManager.gatherConsent(
            this,
            consentError -> {
                if (consentError != null) {
                    // Consent not obtained in current session.
                   
                }
               

                if (googleMobileAdsConsentManager.canRequestAds()) {
                    initializeMobileAdsSdk();
                }

                if (googleMobileAdsConsentManager.isPrivacyOptionsRequired()) {
                    // Regenerate the options menu to include a privacy setting.
                    invalidateOptionsMenu();
                }
            });

    // This sample attempts to load ads using consent obtained in the previous session.
    if (googleMobileAdsConsentManager.canRequestAds()) {
        initializeMobileAdsSdk();
    }

Anny suggestion?

I've implemented CMP "a certified consent management platform (CMP)".according to admob request, I followed google implementation here: But I am still getting error from admob console "Some ad requests on your inventory from the EEA, the UK, or Switzerland are missing a TC string"

Main activity code as below:

        googleMobileAdsConsentManager =
            GoogleMobileAdsConsentManager.getInstance(getApplicationContext());
    googleMobileAdsConsentManager.gatherConsent(
            this,
            consentError -> {
                if (consentError != null) {
                    // Consent not obtained in current session.
                   
                }
               

                if (googleMobileAdsConsentManager.canRequestAds()) {
                    initializeMobileAdsSdk();
                }

                if (googleMobileAdsConsentManager.isPrivacyOptionsRequired()) {
                    // Regenerate the options menu to include a privacy setting.
                    invalidateOptionsMenu();
                }
            });

    // This sample attempts to load ads using consent obtained in the previous session.
    if (googleMobileAdsConsentManager.canRequestAds()) {
        initializeMobileAdsSdk();
    }

Anny suggestion?

Share Improve this question asked Nov 18, 2024 at 14:05 صلي علي محمد - Atef Faroukصلي علي محمد - Atef Farouk 4,2972 gold badges37 silver badges56 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 0

After user grants or declines the Ads Personalisation request a key is stored in Shared preferences Automatically.

Shared preference Key name :- IABTCF_TCString

String tcString;
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
tcString = sp.getString("IABTCF_TCString", "Key not found");

Pass in AdMob

AdRequest adRequest = new AdRequest.Builder()
                .addNetworkExtrasBundle(NativeAd.class, createAdMobExtras(tcString))  // Passing TC string
                .build();

private Bundle createAdMobExtras(String tcString) {
    Bundle extras = new Bundle();
    extras.putString("tcString", tcString);  // Pass the TC string using the correct key
    return extras;
}

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论