googleads / videojs-ima

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

Can I examine the ads in an AdPod / VAST response? #1090

Closed riksagar closed 1 year ago

riksagar commented 1 year ago

From the logging in my app, I see that videojs-ima is only playing about half the ads returned in the adpods. These are adpods returned from thirdparties, in real world content playback scenarios.

I see this in our production app., based on logging of the adPodInfo when the adpod is loaded (AdEvent.Type.LOADED on the ad manager) versus the playback starts (AdEvent.Type.STARTED event).

I don't see a good way to get videojs-ima to report which ads are playable and which will be skipped. Presumably the library is doing some browser capability checks and skipping ads it deems unplayback.

I do see an occasional "There was an error playing the video ad" error logged (adPlayError events). But not enough of those to account for the discrepency.

What events can I register for to catch all the skipped/invalid ads? Alternatively, is there an event that dumps the contents of the mediaFile elements from the vast response, so I can log them?

Thanks, Rik.

Kiro705 commented 1 year ago

Hello @riksagar ,

Thank you for raising this issue.

Would you be able to share an example ad VAST or VAST url that can reproduce this issue reliably? You can share it privately with jsui@google.com. This could help me determine if the ads being missed in the ad pods is in fact an error.

The videoJS-IMA plugin does not do any compatibility checks to disqualify certain ads. However, the IMA SDK itself does do this type of checks. Setting AdsRenderingSettings.mimeTypes can set what ad mimeTypes your player can play.

You can follow this step for listening for AdsLoader errors (link)

And this step for AdsManager errors (link).

To get these IMA classes you can follow this videoJS-IMA plugin step (link).

Let me know if you have any additional questions.

Thank you, Jackson IMA SDK team