googleads / videojs-ima

IMA SDK Plugin for Video.js
Apache License 2.0
450 stars 284 forks source link

LOG event only emitted once when multiple ads return empty VAST responses #1042

Closed wrynnhall closed 2 years ago

wrynnhall commented 2 years ago

In our current implementation, I am listening for the 'google.ima.AdEvent.Type.LOG' event through this plugin in hopes to capture and log each time an AdBreak defined in a VMAP returns an empty VAST response, which can be common in our case. What I am seeing is that when there are individual AdBreaks that all error at the same timeOffset, the 'google.ima.AdEvent.Type.LOG' event is only emitted once.

Here is a codepen where I rigged all four AdBreaks in the VMAP response to only return empty VAST responses in order to highlight the behavior I'm experiencing. You'll see in the console that the event is only emitted once at each different timeOffset ('start' and '00:00:30'), even though both ad breaks at each of those times return empty VAST responses.

Is this behavior expected or a limitation of the IMA SDK? I had assumed 'google.ima.AdEvent.Type.LOG' would be emitted once per AdBreak similar to 'google.ima.AdEvent.Type.STARTED', but that doesn't seem to be the case.

Kiro705 commented 2 years ago

Hello @zacharyhall ,

This is expected behavior from IMA. You can test it in the VSI player (non-videojs-IMA) with the captured vmap here (https://vastsynthesizer.appspot.com/jsui-empty-vmap).

During an ad pod (multiple ads during a single ad break) IMA will only send the LOG event if all ads fail in the pod.

Since this is IMA behavior and unrelated to this specific IMA plugin, I would reach out to the IMA SDK forum if you would like to make a request to change this behavior.

Thank you, Jackson IMA SDK team

wrynnhall commented 2 years ago

During an ad pod (multiple ads during a single ad break) IMA will only send the LOG event if all ads fail in the pod.

I honestly hadn't noticed this and confirmed it works like that with your examples. I can definitely make something work with that knowledge. Thanks!