You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Admob 20.4.0版本无法调用tagForChildDirectedTreatment()如何解决

问题原因

你使用的com.google.android.gms:play-services-ads:20.4.0版本属于AdMob SDK的较新版本,tagForChildDirectedTreatment()方法已经从AdRequest.Builder类中移除,相关的儿童导向配置、广告内容评级配置现在都需要通过全局的RequestConfiguration来设置。

解决方法

在加载广告之前(建议放在Application的onCreate方法,或者对应Activity加载广告的逻辑之前),先配置全局广告请求参数,修改后的完整代码如下:

// 先初始化MobileAds(如果还没做初始化的话)
MobileAds.initialize(this)

// 配置全局广告请求规则
val requestConfiguration = RequestConfiguration.Builder()
    // 设置为儿童导向应用,符合COPPA要求
    .setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
    // 设置广告内容最高评级为G级,替换原来手动加Bundle的配置
    .setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
    .build()
MobileAds.setRequestConfiguration(requestConfiguration)

// 构建广告请求,不需要再额外加Bundle或者儿童导向标记
val adRequest = AdRequest.Builder().build()

// 加载激励广告逻辑保持不变
RewardedAd.load(this, Rewarded_AD_UNIT_ID, adRequest, object : RewardedAdLoadCallback() {
    override fun onAdLoaded(p0: RewardedAd) {
        super.onAdLoaded(p0)
        mRewardedAd = p0
    }

    override fun onAdFailedToLoad(p0: LoadAdError) {
        super.onAdFailedToLoad(p0)
        mRewardedAd = null
    }
})
补充说明

setTagForChildDirectedTreatment支持三种参数:

  • RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE:明确应用面向13岁以下儿童,符合COPPA要求
  • RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE:明确应用不面向13岁以下儿童
  • RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED:未明确指定,由Google根据应用内容自行判断

面向13岁以下用户的应用必须设置为TRUE,否则可能违反Google Play商店的相关政策。

内容的提问来源于stack exchange,提问作者keepupwiththetimes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 12:45:02