Ads playing without video if it's a Google IMA Manager

366 views
Skip to first unread message

richard.p...@gmail.com

unread,
Dec 20, 2016, 9:45:51 AM12/20/16
to Interactive Media Ads SDK
Hi,


I use Google IMA to display ads before video but sometimes when I call adsManager.start() the ads begins (whith sound) but without the video.

It appears when the tag is also using Google IMA.


I try to respect IAB Protocol :

First of all, I call adsLoader.requestAds() on the tag
Then I call adsManager.init().
When I received AdLoaded event I trigger an AdLoaded event to the player.
And then the player call the startAd function.
In this function I do : adsManager.start().

Everything works well except if the tag is a VPAID using Google IMA Manager.


Do I forget something ?
Or maybe an Google IMA Manage can't call another Google IMA MAnager ?


Thanks for all,

Vu Chau (IMA SDK Team)

unread,
Dec 20, 2016, 11:05:23 AM12/20/16
to Interactive Media Ads SDK
Hello,

Some VPAID ads might be manipulating the DOM and therefore disabling the visibility of the adDisplayContainer, causing the video not to show. Your workflow is correct, so if you can get me the ad tag (or the exact ad response that serves that VPAID creative), I should be able to look into this issue for you.

Thanks,

Vu Chau
IMA SDK Team

Vu Chau (IMA SDK Team)

unread,
Dec 20, 2016, 11:31:44 AM12/20/16
to Interactive Media Ads SDK
Richard, this message is to confirm that I have received your VAST response offline. I'll take a look and get back to you.

Vu
Message has been deleted

richard.p...@gmail.com

unread,
Dec 20, 2016, 11:42:28 AM12/20/16
to Interactive Media Ads SDK
Thank you Vu.


Richard,

Vu Chau (IMA SDK Team)

unread,
Dec 20, 2016, 11:51:34 AM12/20/16
to Interactive Media Ads SDK
Hi Richard,

I tested your creative in the Video Suite Inspector in both ENABLE and INSECURE modes but didn't see the issue of audio without video. Everything is working as intended. Could you confirm that?

A VPAID tag can launch another instance of IMA, which should still work well. I don't see any issue with that, unless the wrapping and subsequent initialization take so long on a slow network that the video hasn't had time to buffer, so you hear the audio first.

Feel free to paste some code snippets here as well if this eventually boils down to an implementation issue.

Cheers,

Vu Chau
IMA SDK Team

richard.p...@gmail.com

unread,
Dec 20, 2016, 12:02:59 PM12/20/16
to Interactive Media Ads SDK
Can you tell me how do you test it ?

Because when I modify my workflow it's works well.

If I call :
adsManager.init
adsManager.start
It's works.

But if I call
adsManager.init
I wait adLoaded event and Then I call
adsManager.start
I see the issue


Thank you again..

Vu Chau (IMA SDK Team)

unread,
Dec 20, 2016, 1:46:04 PM12/20/16
to Interactive Media Ads SDK
Hi Richard,

The ad's LOADED event is the first event for the ad. It's an event (among the others) that's supposed to be delegated by the adsManager, so you need to officially call adsManager.start() first. If you rely on the LOADED event to call adsManager.start(), you are effectively asking the SDK to play the ad while you haven't asked it to play the ad. It is a paradox.

Is there a reason you are calling adsManager.start() under LOADED? You should call adsManager.start() right after you call adsManager.init(). If you prefer starting the ad at some other time during your workflow, you can utilize the AD_BREAK_READY event to call adsManager.start().

Vu Chau
IMA SDK Team

richard.p...@gmail.com

unread,
Dec 21, 2016, 9:03:52 AM12/21/16
to Interactive Media Ads SDK
Hi Vu,

I would like to call adsManager.start() after loaded because some tags take a lot of time to answer. That's why I call multiple tag Request and multiple adsManager.init(). And I call adsManager.start() when I receive the first adsLoaded event.

Is there another way to do that ?


Thank you,

Richard

Chris Feldman (IMA SDK Team)

unread,
Dec 21, 2016, 12:55:59 PM12/21/16
to Interactive Media Ads SDK
Hi Richard,

I will be handling you case today, as Vu is out of the office.

It sounds like you're interested in preloading your ads. You can do this by setting enablePreloading to true on your adsRenderingSettings object. The call looks like this:
function onAdsManagerLoaded(adsManagerLoadedEvent) {
 
// Get the ads manager.
 
var adsRenderingSettings = new google.ima.AdsRenderingSettings();
 adsRenderingSettings
.enablePreloading = true; // ...
}
You can read more about preloading on our Preloading Media page.

Regards,
Chris Feldman
IMA SDK Team 

richard.p...@gmail.com

unread,
Dec 22, 2016, 4:50:47 AM12/22/16
to Interactive Media Ads SDK
Hi Chris and thank you to help me.

With enablePreloading to true, I call adsManager.start when I want and not just after init ?

Because I added this lines but I already see the issue.
The ad begins without video.

        var adsRenderingSettings = new google.ima.AdsRenderingSettings();
        adsRenderingSettings.enablePreloading = true;
        adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings);


The issue appears only when I try to start an ad with a Google Ima Manager.



Thanks
Richard,

richard.p...@gmail.com

unread,
Dec 22, 2016, 7:04:14 AM12/22/16
to Interactive Media Ads SDK
Hi,

I did this jsfiddle to expose the issue : http://jsfiddle.net/pyv9g5c0/7/

As you can see, when I preload a Google IMA Manager, the video is black.


Thanks,

Richard

Chris Feldman (IMA SDK Team)

unread,
Dec 22, 2016, 1:59:26 PM12/22/16
to Interactive Media Ads SDK
Hi Richard,

I was able to adapt our Advanced Example to replicate the behavior you wanted on your JSFiddle link. You can view a live demo of the new sample here, and you can view the source code on GitHub. The play button will not start an ad until it has been preloaded, which you can do by pasting in your ad tag and selecting the 'Preload Ads' button. The preload button handles the adRequest and adsManager.start() is delegated to the play button. I was able to load and play your ad tag in the sample.

Let me know if you continue to have issues.

Regards,
Chris Feldman
IMA SDK Team

Message has been deleted

richard.p...@gmail.com

unread,
Dec 23, 2016, 5:20:17 AM12/23/16
to Interactive Media Ads SDK
Hi Chris,

Thank you, it works well with insecure mode, and preload !

I don't know if I have to create a new topic but I just have a last question, I have an Ad Tag which starts just after preload and doesn't wait adsManager.start. 
Is it possible to prevent this behaviour and destroy it before starting ?

I send you in private the tag url.

Thank you Chris,

Regards,
Richard

Le vendredi 23 décembre 2016 10:38:33 UTC+1, richard.p...@gmail.com a écrit :
Hi Chris,

Thank you, it works well with insecure mode, and preload !

I just have a last question, I have an Ad Tag which starts just after preload and doesn't wait adsManager.start. 
Is it possible to prevent this behaviour and destroy it before starting ?


Thank you Chris,

Regards,
Richard

Vu Chau (IMA SDK Team)

unread,
Dec 27, 2016, 11:18:30 AM12/27/16
to Interactive Media Ads SDK
Thanks, Chris, for the assistance! 

Richard, I'm back to the office now and will continue assisting you with your questions. I am able to reproduce the issue you reported with the VPAID ad playing right after being preloaded. Ideally, the ad it should wait until the adsManager.start() call for playback.

I have raised this issue with the rest of the team, and I will let you know when we have an update.

Vu Chau
IMA SDK Team

Message has been deleted

Vu Chau (IMA SDK Team)

unread,
Jan 3, 2017, 3:12:31 PM1/3/17
to Interactive Media Ads SDK
Hi Richard,

This issue doesn't seem to be specific to preloading. If you try without preloading, calling adsManager.init() will still start the VPAID ad without the wait for adsManager.start(). It looks like the issue lies in the VPAID code, especially how it implements its initialization phase.

Since the VPAID ad is loading and executing its assets too early, it should wait for the user action (which triggers adsManager.start()) to begin playback.

Vu Chau
IMA SDK Team

On Thursday, December 29, 2016 at 3:45:27 AM UTC-5, da...@digiteka.com wrote:
Ok thank you Vu,

Regards,
Richard

richard.p...@gmail.com

unread,
Jan 5, 2017, 6:18:29 AM1/5/17
to Interactive Media Ads SDK
Thank you Vu !

Regards,
Richard

richard.p...@gmail.com

unread,
Jan 6, 2017, 6:56:24 AM1/6/17
to Interactive Media Ads SDK
Hi Vu,


I would like to know if there is an official good way to call multiple request and start the best tag.

For example, I have 3 tags. 
Tag 1 : rank 1
Tag 2 : rank 2
Tag 3 : rank 3

I would like to call all of them in the same time,
If I received Tag 1 => It's the best one, I start it.
If I received Tag 2 or 3, I wait 5s and If I don't receive Tag 1, I start Tag 2..

I send you in private my method in case of there is no official way..


Thank you,
Richards, 
Reply all
Reply to author
Forward
0 new messages