如何在加载 DFP 广告后触发事件

How to fire event when DFP ad has been loaded

我正在尝试在加载我的一个 DFP 广告时触发一个事件。广告加载在 iframe 中,因此我一直在尝试在 iframe 加载时触发事件,但它似乎只在某些时候有效,而不是每次都有效,因此并不可靠。我什至尝试将 iframe 加载到 iframe 就绪内,因为 iframe 就绪似乎总是在启动加载观察器时 iframe 可能不存在的情况下触发。

   $("#my_id iframe").on("load", function() {
      console.log('LOADED!');
   });

   $("#my_id iframe").ready(function() {
      console.log("READY!");
      $("#my_id iframe").on("load", function() {
          console.log('LOADED!');
      });
    });  

DFP 添加是通过以下方式触发的:

<div id="my_id">
    <script type="text/javascript">
        googletag.display("some-ad");  
    </script>
</div>

双击会将 iframe 注入上面的 div,这将加载图片广告。

有什么想法吗?

谢谢!

您似乎可以向 dfp 添加事件侦听器 https://developers.google.com/doubleclick-gpt/reference#googletag.Service_addEventListener

 googletag.pubads().addEventListener('impressionViewable', function(event) {
    console.log(event.slot)
 });