谷歌 GPDR 同意书。AdMob 错误:检测到 IAB TCF v2.0 错误我们在您的一个或多个网站或应用中检测到 IAB TC 字符串存在问题

Ser*_*kar 21 android adsense admob ios ump

在实施谷歌UMP SDK以获得欧盟用户的同意后,我在 AdMob(iOS 和 Android 应用程序)上遇到了以下错误:

检测到 IAB TCF v2.0 错误我们在您的一个或多个网站或应用程序上检测到您的 IAB TC 字符串存在问题。这些错误可能会影响您向欧洲用户投放广告的能力。欧盟用户同意页面上为您提供了详细报告。

在可下载的 .csv 文件中,我看到以下内容:

csv内容

在官方文档故障排除指南中如下所示: 故障排除指南

但是没有信息如何通过 SDK 做到这一点。

你知道如何解决这个问题吗?在这种情况下,我似乎失去了欧盟用户的所有流量。

谢谢你。

j2e*_*esu 2

免责声明:这只是我的“原样”经验,也许我遗漏了一些重要的细节,那么请告诉我!

应用程序更新后也出现此错误,最后经过几次尝试后它消失了。我不是 GDPR 专家,只是想分享我的经验,也许(希望)有更好的解决方案。

我尝试过的(不要这样做,它不会消除 AdMob 错误):

  • 在 AdMob 控制台中停用个性化广告
  • 删除 UMP 库并发布更新
  • 删除有错误的广告单元并发布更新

每次尝试后我仍然收到错误消息。我知道如果没有新的错误出现,它需要时间才能消失,但几天后错误计数不断增加,甚至新添加的广告单元也在报告中,但我将它们添加到没有 UMP 库的应用程序版本中。在阅读了一些TCF 字符串文档后,我意识到 TCF 字符串仍然存在于用户设备上并且 AdMob 使用它们。记录所有默认共享首选项后,我得到如下内容:

在此输入图像描述

因此,接下来我发布了一个应用程序更新,在应用程序启动时清理 TCF 字符串:

private fun clearTcfData(context: Context) {
    val prefs = PreferenceManager.getDefaultSharedPreferences(context)
    val tcfKeys = prefs.all.keys.toList().filter { it.startsWith("IABTCF", true) }
    if (tcfKeys.isNotEmpty()) {
        prefs.edit {
            tcfKeys.forEach { remove(it) }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后很快我就看到 TCF 错误报告中的错误减少了,大约 10 天后,TCF 错误横幅消失了。我还再次启用了个性化广告,因为这不会造成问题。总而言之,对我有用的解决方案是

  • 将 UMP 库替换为旧的 EU 同意库
  • 在应用程序启动时清除剩余的 TCF 字符串
  • 释放并等待

  • 嗯..删除 UMP 不是一个解决方案 (2认同)