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

时间:2018-02-09 15:24:30

标签: javascript jquery iframe double-click google-dfp

我尝试在加载某个DFP广告时触发某个活动。广告加载到iframe中,因此我一直在尝试在iframe加载上触发事件,但它似乎只在某些时间而不是每次都有效,因此不可靠。我甚至试图将iframe放在iframe中加载,因为iframe准备似乎总是会在启动加载观察器时iframe可能不存在的情况下触发。

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

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

@ContextConfiguration(locations = {"/com/a/KernelTestContext.xml"})
public class KernelTest extends AbstractJUnit4SpringContextTests {
    @Configuration
    static class ContextConfiguration  {
        @Bean
            ...
        }
    }

    @Resource(name = "CsvResourceProcessingChannel")
    private MessageChannel csvResourceProcessingChannel;

    @Test()
    public void testIt() {
        ...
        csvResourceProcessingChannel.send(MessageBuilder.withPayload(new ByteArrayResource(input.getBytes()))
            .setHeader(Headers.IMPORT_SOURCE, importSource1).setReplyChannel(testChannel)
            .setErrorChannel(testErrorChannel).build());
    }
}

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

有什么想法?

谢谢!

1 个答案:

答案 0 :(得分:2)

好像你可以为dfp添加一个事件监听器 https://developers.google.com/doubleclick-gpt/reference#googletag.Service_addEventListener

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