如何避免“在没有匹配的 googletag.display 调用的情况下调用 googletag.defineSlot”警告?

问题描述 投票:0回答:1

我们在单页应用程序(Nuxt3 应用程序)中使用 GPT。

onMounted(() => {
  const googletag = window.googletag || { cmd: [] };
  googletag.cmd.push(() => {
    googletag
      .defineSlot('/6355419/Travel/Europe/France/Paris', [300, 250], 'banner-ad')
      .addService(googletag.pubads());
    googletag.pubads().enableSingleRequest();
    googletag.enableServices();
    googletag.display('banner-ad');
  });
})

onBeforeUnmount(() => {
  const googletag = window.googletag || { cmd: [] };
  googletag.destroySlots();

})

在代码中,我清楚地看到“display”调用紧随“defineSlot”之后。 在代码执行的那一刻,DIV元素已经存在于DOM中。

在用户导航到下一页之前,我们将销毁为当前页面创建的所有插槽 使用 googletag.destroySlots。

路线更改后,我们会看到此警告 warning

谁能帮我解决这个问题吗?

这肯定会导致展示计数出现问题(重复展示);

我尝试了不同的解决方案,例如 destroySlots 或从 window.googletag 对象中删除 queryIds,但 destroySlots 似乎没有完全删除插槽并缓存广告单元。

提前谢谢您。

google-tag-manager nuxtjs3 google-publisher-tag google-ads-script
1个回答
0
投票

您对此有什么建议吗?我也有同样的问题

© www.soinside.com 2019 - 2024. All rights reserved.