我尝试在加载某个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,然后加载图片广告。
有什么想法?
谢谢!
答案 0 :(得分:2)
好像你可以为dfp添加一个事件监听器 https://developers.google.com/doubleclick-gpt/reference#googletag.Service_addEventListener
googletag.pubads().addEventListener('impressionViewable', function(event) {
console.log(event.slot)
});