免责声明:这只是我的“原样”体验,也许我遗漏了一些重要的细节,请告诉我!
应用程序更新后也出现此错误,最后经过几次尝试它就消失了。我不是 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) }
}
}
}
然后很快我在 TCF 错误报告中看到了更少的错误,大约 10 天后 TCF 错误横幅消失了。此外,我再次启用了个性化广告,因为这不会导致问题。总而言之,对我有用的解决方案是:
- 用旧的欧盟许可库替换 UMP库
- 在应用启动时清除剩余的 TCF 字符串
- 释放并等待