IMA + Chromecast CAF receiver

582 views
Skip to first unread message

Ryan Daley

unread,
Jan 23, 2019, 4:34:11 PM1/23/19
to Interactive Media Ads SDK
Has anyone had success in integrating IMA into a CAF receiver?

I have crossposted this to the CAF support forum also.

I am running into several issues:
- It looks like the IMA SDK requires stopping the main content, allowing the ad(s) to play, then re-loading the main content using the original load request, and then seeking forward to the point that the main content was at before the ad break. This causes obvious problems with the main content buffering, and all of our video metrics and tracking suites (Conviva, Adobe Heartbeat, etc.) do not handle this well.

- Most of the Ad breaks and metadata around the ads are not available to the senders / within the UI of the receiver.

- The sample code provided (https://github.com/googleads/googleads-ima-cast) appears to rely on the sender to trigger ads. Also it expects the sender to remain open and active while casting. Does anyone actually implement cast this way?

(As an aside, we have a VAST implementation that uses CAF AdBreaks etc. that works well, but our Ads team uses IMA / DFP for ad management)

Does anyone have any corrections / solutions to the above? Am I missing something?

ima-sdk-fo...@google.com

unread,
Jan 23, 2019, 5:50:33 PM1/23/19
to ima...@googlegroups.com
Hi Ryan,

Thank you for reaching out to us. The issue reported above seem to be with the implementation of the sender app, the IMA SDK (on the receiver side) only pauses the video content while playing the ad and then resumes the video content when the CONTENT_RESUME_REQUESTED event is fired, it doesn't change the video content state or seek through it while the ad is playing.

The sample code provided at this url: https://github.com/googleads/googleads-ima-cast, is the latest recommended Google Cast IMA sample app we published and only works with Cast 3 (CAF player), mixing it with the Cast 2.0.0 implementation as shown in the Get Started Guide won't work.
Were you able to reproduce the issue using our Google Cast sample app?

Regards,
Arnaud Casame
IMA SDK Team 


=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+ page:
    http://googleadsdeveloper.blogspot.com
    https://plus.google.com/115658573333388777174/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

--
You received this message because you are subscribed to the Google Groups "Interactive Media Ads SDK" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ima-sdk+unsubscribe@googlegroups.com.
To post to this group, send email to ima...@googlegroups.com.
Visit this group at https://groups.google.com/group/ima-sdk.
For more options, visit https://groups.google.com/d/optout.

Ryan Daley

unread,
Jan 24, 2019, 4:11:43 PM1/24/19
to Interactive Media Ads SDK
Hi Arnaud -

Thanks for your quick reply.

The sample code stops the content when CONTENT_PAUSE_REQUESTED is fired. This is the only way that I have been able to get an ad to play. If I use a pause, the ad doesn't play and I get a adPlayError: 400

Screen Shot 2019-01-24 at 4.06.37 PM.png


All 3 of our senders (iOS, Android, and Chrome) are using the latest CAF code. I'll try playing from one of our senders to the sample app tomorrow (we use authentication on all our content, so I'll need to modify the loadRequestData).

Thanks!
-R

ima-sdk-fo...@google.com

unread,
Jan 24, 2019, 5:11:48 PM1/24/19
to ima...@googlegroups.com
Hi Ryan,

The issue you're facing seems to be with the ad media file and not with your implementation. Were you able to reproduce the issue using our sample tags? We would recommend you to take a look at the Resolve VAST and IMA SDK errors to solve the issue.


Regards,
Arnaud Casame
IMA SDK Team


=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+ page:
    http://googleadsdeveloper.blogspot.com
    https://plus.google.com/115658573333388777174/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

Marco

unread,
Aug 28, 2020, 4:14:52 AM8/28/20
to Interactive Media Ads SDK
Hi Ryan,
are you been able to solve the issue? We have the same problem and the ad media file doesn't have anything to do with it (I use only the ad sample tag).
It looks like on Chromecast Receiver App we can play/have only one video element at time, hasn't it?

Thanks 

samson....@gmail.com

unread,
Aug 28, 2020, 5:43:27 AM8/28/20
to Interactive Media Ads SDK
Having the same issue here. I am having two different video elements i.e one injected by the SDk and other is content video element. I pause the ad using playermanager.pause() before playing the ad and once ads have completed playing is play the ads by playermanager.play(), But the content player doesnot resume at all ? Do we really need to send a new loadrequest once again to play the content/player ?

IMA SDK

unread,
Aug 28, 2020, 6:58:49 AM8/28/20
to samson....@gmail.com, ima...@googlegroups.com

Hi there,

Thanks for your message. Would it be possible to share with us a simple sample of your project file wherein this issue is reproducible? That way, we can check the issue closely and investigate further. Please share the files by sending to our email alias: imate...@gmail.com

Regards,

Google Logo
Sherwin Diesta
IMA SDK Team
 


ref:_00D1U1174p._5004Q23vOC3:ref

Marco

unread,
Aug 28, 2020, 11:03:25 AM8/28/20
to Interactive Media Ads SDK
email with an example just sent... thanks 

IMA SDK

unread,
Aug 28, 2020, 4:40:32 PM8/28/20
to marco....@gmail.com, ima...@googlegroups.com
Hi Marco,

Thank you for sharing the link, however, I wasn't able to replicate the behavior that you're seeing with the Chromecast CAF Receiver, when I tried to open the link, I received an error message (see screenshot attached).
Were you able to reproduce the behavior using our IMA SDK for CAST sample? For publishers using the latest version CAF, we usually recommend implementing the Cast Ad Break.

Regards,
Arnaud Casame
IMA SDK Team


ref:_00D1U1174p._5004Q23vOC3:ref
failed_to_connect.png

Marco

unread,
Aug 31, 2020, 6:16:51 AM8/31/20
to Interactive Media Ads SDK
I sent you a Zip with a little example project, not the link... maybe have you confuse me with someone else? 

IMA SDK

unread,
Aug 31, 2020, 9:44:37 AM8/31/20
to marco....@gmail.com, ima...@googlegroups.com
Hi Marco,

I work with Arnaud and will assist you. Unfortunately we didn't receive a small zip project from you via imate...@gmail.com. Could you try again and come back to this thread when done to tell us under what email address you sent it?

Regards,

Google Logo
Aryeh Baker
IMA SDK Team
 


ref:_00D1U1174p._5004Q23vOC3:ref

Marco Bressi

unread,
Aug 31, 2020, 10:21:00 AM8/31/20
to IMA SDK, ima...@googlegroups.com
I just resent it. 

IMA SDK

unread,
Sep 1, 2020, 12:56:49 AM9/1/20
to marco....@gmail.com, ima...@googlegroups.com

Hi Marco,

Thank you for sharing the file. It appears that you are using the latest version of CAF based on our sample app for cast. Thus, just restating what my colleague suggests earlier, would it be possible on your end to implement the Cast Ad Break and see if that would solve the issue on your end?

Regards,

Google Logo
Sherwin Diesta
IMA SDK Team
 


ref:_00D1U1174p._5004Q23vOC3:ref

Domenico Montalbano

unread,
Sep 1, 2020, 5:31:21 AM9/1/20
to Interactive Media Ads SDK
Hi I'm Marco's coworker, I've tested the Cast Ad Break solution. Preroll doesn't work but VMAP midroll does. In this case, almost at the end of the midroll, the main manifest is downloaded again, so in case of tokenized url this is a problem.
Here you can find a video recording of my screen where I show the behavior.

Thanks a lot for your support
Domenico

Our load function in sender:

// pre
// VMAP pre + mid

function load() {
  var castSession = castContext.getCurrentSession();
  var mediaInfo = new chrome.cast.media.MediaInfo(videoManifest, 'application/vnd.apple.mpegurl');
  mediaInfo.breakClips = [
    {
      id: 'bc1',
      vastAdsRequest: {
        adTagUrl: adTag
      }
    }];
  mediaInfo.vmapAdsRequest = {
    adTagUrl: adTagVMAP
  };
  var request = new chrome.cast.media.LoadRequest(mediaInfo);
  castSession.loadMedia(request).then(
    function () {
      console.log('Load succeed');
    },
    function (errorCode) {
      console.log('Error code: ' + errorCode);
    });

IMA SDK

unread,
Sep 1, 2020, 3:50:29 PM9/1/20
to domenico.m...@gmail.com, ima...@googlegroups.com
Hi Domenico,

I work with Sherwin and will assist you. Our team is going to review the issue. I will get back to you with more information as soon as possible.

Regards,

Google Logo
Aryeh Baker
IMA SDK Team
 


 

ref:_00D1U1174p._5004Q23vOC3:ref
Reply all
Reply to author
Forward
0 new messages