我们正在努力在用 VueJS 编写的 SPA 中实现 GPT。每当用户导航到不同的页面时,我们googletag.destroySlots();
都会在从 DOM 中删除 DIV 元素之前调用我们要删除的插槽(在 VueJS 中的 beforeDestroyed 挂钩,删除了 google.cmd.push())
问题是 Google Publisher Console 中显示以下错误:
googletag.defineSlot was called more times than there are DIVs in the DOM associated with ad slots while in Single Request Mode. This will impact impression counts.
除了警告之外,广告位仍将显示为叠加层,并且在控制台的“广告位”部分中,关闭和重新打开控制台不起作用。
我尝试了以下方法来重现它:
- 用 googletag.defineSlot 定义一个槽
- 使用 prebid 然后 googletag.refresh 加载广告(显示正常)
- 调用 googletag.destroySlots()
- 删除链接到该插槽的 DIV 元素
- 启动发布者控制台
在这种情况下,会出现警告,并且广告位会在控制台中列出。
所以我的问题是,我们应该忽略这个警告吗?因为我们正确地调用了destroySlots,并且该槽没有在getSlots()下列出;任何一个。