googleads / videojs-ima

IMA SDK Plugin for Video.js
Apache License 2.0
455 stars 285 forks source link

Change post-roll ad cause error AdError 1005 - Error 6 while jw player can provide ads #873

Closed nautilux2 closed 4 years ago

nautilux2 commented 4 years ago

Hi I'm using videojs-ima for my videojs player The pre-roll work just fine but the post-roll cannot, it fires an error like this AdsLoader error: AdError 1005: There was a problem requesting ads from the server. Caused by: Error: 6 here my code call when content end

$('video').each(function() {
                var videoElement = $(this);
                var player = videojs(videoElement.attr('id'));

                var options = {
                    adTagUrl: adTagPre
                };

                player.ima(options);

                if (ismobile) player.ima.initializeAdDisplayContainer();

                player.on('contentended', function(event){
                    // do what needs doing.
                    player.ima.changeAdTag(adTagPost);
                    player.ima.requestAds();
                    console.log('content ended');
                });
});

Both pre-roll script and post-roll script work fine on jw player I use 2 adsense tag, 1 for pre-roll and 1 for post-roll

Somebody help me out?

dioramayuanito commented 4 years ago

why don't you use VMAP?

nautilux2 commented 4 years ago

why don't you use VMAP?

I followed some tutorial on youtube and https://support.google.com/admanage, they told me to upload video but I want to get ads from google

dioramayuanito commented 4 years ago

i know that you want to run ad by using Manual mechanism (mimicking VMAP), but to make a successfull Manual way, you must check your own adTag. Is it a Pure VAST scheme xml? or is it a PlaylistAd scheme xml? or is it a VMAP scheme xml? your code will run properly if your adTag is Pure VAST Scheme xml. Would you mind giving us your adTag url so we can check it ?

nautilux2 commented 4 years ago

i know that you want to run ad by using Manual mechanism (mimicking VMAP), but to make a successfull Manual way, you must check your own adTag. Is it a Pure VAST scheme xml? or is it a PlaylistAd scheme xml? or is it a VMAP scheme xml? your code will run properly if your adTag is Pure VAST Scheme xml. Would you mind giving us your adTag url so we can check it ?

                var adTagPre = "https://googleads.g.doubleclick.net/pagead/ads?ad_type=video_image&client=ca-video-pub-2579189069606201&description_url=http%3A%2F%2Fvtc.vn&channel=PrerollVideo+Entertainment+Education+Health+Animation&videoad_start_delay=0&hl=vi&max_ad_duration=15000&sdmax=30000";
                var adTagPost = "https://googleads.g.doubleclick.net/pagead/ads?ad_type=video_image&client=ca-video-pub-2579189069606201&description_url=http%3A%2F%2Fvtc.vn&channel=PrerollVideo+Entertainment+Education+Health+Animation&videoad_start_delay=-1&hl=vi&max_ad_duration=15000&sdmax=30000";

Here my 2 tags Thanks for help me

dioramayuanito commented 4 years ago

i open your 2 urls but nothing as a result. no xml. maybe region restriction? if you open those links and you can see VAST tag then it is a pure VAST, if you can see playlist tag then it is a playlistAd scheme xml, and if you can see VMAP tag then it is a VMAP scheme xml...

dilburt commented 4 years ago

We have been getting this same error recently. Since our setup is different than natilux2, I don't think that it's related to using VMAP or not. I debugged this and it appears to be occurring in videojs-ima during the initialization phase. I've been able to reproduce this using the autoplay example code running in a localhost environment. I just discovered this (the repro with autoplay) so I will post more information shortly.

nautilux2 commented 4 years ago

i open your 2 urls but nothing as a result. no xml. maybe region restriction? if you open those links and you can see VAST tag then it is a pure VAST, if you can see playlist tag then it is a playlistAd scheme xml, and if you can see VMAP tag then it is a VMAP scheme xml...

Maybe you and me are not think the same This 2 links I gen from adsense dashboard

<?xml version="1.0" encoding="UTF-8"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="4.0">
 <Ad id="351982089734">
  <InLine>
   <AdSystem>AdSense</AdSystem>
   <AdTitle>image</AdTitle>
   <Description><![CDATA[image ad]]></Description>
   <Error><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=Cyl4mdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAZgEAKoEsgJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NXKzjcEhELx4oRiqWxdgMfABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKgAoByAsB2BMC&sigh=2S2t4wY1bNs&cid=CAMSeQClSFh322ybAn_p2k97CRS7GTnGT7bp6q8D3NetWONpBSLP_xACQ9N1LGQY_iiDqODEilGU4EAhW17Nxykg1ohEKbCgo6_fonLfBn_ED8zPMs_QYzBNPCBpmc3VUpM1ClWF_NHKPXJuHx8ol0RNuGXDrylEo61BmMo&cmd=Ch1jYS12aWRlby1wdWItMjU3OTE4OTA2OTYwNjIwMRAAGAE&label=videoplayfailed[ERRORCODE]]]></Error>
   <Impression><![CDATA[https://googleads.g.doubleclick.net/pagead/adview?ai=CYnPjdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEsgJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NXKzjcEhELx4oRiqWxdgMfABJiuxLCFAogF4K-E9gaSBQoIAxABGAE6AggFkgUECAQYAZAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RvYBwHyBwUQvrWRBdIIBggAEAIYCoAKAcgLAcITBhjkq83PA9gTAg&sigh=k73GzCG6268&cmd=Ch1jYS12aWRlby1wdWItMjU3OTE4OTA2OTYwNjIwMRAAGAE&cid=CAQSMADwy9IZu4PvN_SyG1frKZ0hSQmFHitrqVLSAfTtg-0epORGX_5AFBUCoTYjOgfWTA&tpd=AGWhJmu1PkiEr_wiccl4EqQAfUR85TZb2g8ST6m6C91H4fh1zw]]></Impression>
   <Creatives>
    <Creative id="391229100409" sequence="1">
     <UniversalAdId idRegistry="unknown"/>
     <NonLinearAds>
      <TrackingEvents>
       <Tracking event="start"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=CCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg&sigh=SfXcdA_hAc0&label=part2viewed&ad_mt=[AD_MT]]]></Tracking>
       <Tracking event="firstQuartile"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=CCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg&sigh=SfXcdA_hAc0&label=videoplaytime25&ad_mt=[AD_MT]]]></Tracking>
       <Tracking event="midpoint"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=CCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg&sigh=SfXcdA_hAc0&label=videoplaytime50&ad_mt=[AD_MT]]]></Tracking>
       <Tracking event="thirdQuartile"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=CCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg&sigh=SfXcdA_hAc0&label=videoplaytime75&ad_mt=[AD_MT]]]></Tracking>
       <Tracking event="complete"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=CCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg&sigh=SfXcdA_hAc0&label=videoplaytime100&ad_mt=[AD_MT]]]></Tracking>
       <Tracking event="mute"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=CCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg&sigh=SfXcdA_hAc0&label=admute&ad_mt=[AD_MT]]]></Tracking>
       <Tracking event="unmute"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=CCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg&sigh=SfXcdA_hAc0&label=adunmute&ad_mt=[AD_MT]]]></Tracking>
       <Tracking event="rewind"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=CCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg&sigh=SfXcdA_hAc0&label=adrewind&ad_mt=[AD_MT]]]></Tracking>
       <Tracking event="pause"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=CCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg&sigh=SfXcdA_hAc0&label=adpause&ad_mt=[AD_MT]]]></Tracking>
       <Tracking event="resume"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=CCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg&sigh=SfXcdA_hAc0&label=adresume&ad_mt=[AD_MT]]]></Tracking>
       <Tracking event="fullscreen"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=CCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg&sigh=SfXcdA_hAc0&label=adfullscreen&ad_mt=[AD_MT]]]></Tracking>
       <Tracking event="creativeView"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=CCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg&sigh=SfXcdA_hAc0&label=vast_creativeview&ad_mt=[AD_MT]]]></Tracking>
       <Tracking event="close"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=CCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg&sigh=SfXcdA_hAc0&label=overlayadclose]]></Tracking>
       <Tracking event="expand"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=CCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg&sigh=SfXcdA_hAc0&label=adexpand]]></Tracking>
       <Tracking event="collapse"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=CCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg&sigh=SfXcdA_hAc0&label=adcollapse]]></Tracking>
       <Tracking event="acceptInvitation"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=CCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg&sigh=SfXcdA_hAc0&label=acceptinvitation]]></Tracking>
       <Tracking event="exitFullscreen"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=CCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg&sigh=SfXcdA_hAc0&label=vast_exit_fullscreen&ad_mt=[AD_MT]]]></Tracking>
      </TrackingEvents>
      <NonLinear width="468" height="60" minSuggestedDuration="00:00:00" scalable="false" maintainAspectRatio="false">
       <StaticResource creativeType="image/png"><![CDATA[https://pagead2.googlesyndication.com/pagead/imgad?id=CICAgKCb8PSZUhDUAxg8MgjbdXs-zcDB-w]]></StaticResource>
       <NonLinearClickThrough><![CDATA[https://www.googleadservices.com/pagead/aclk?sa=L&ai=CCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg&ae=1&num=1&cid=CAMSeQClSFh35-k44JTbjgfZ8kTnrZIC4FvQTnjRTo28Tyc69hHYIR-EtwtnqTcKMCJ32-40N6jOl4Rl_QirsEoKlSPhtFN53-m9YKjXT2NsMuTIF6E1q3K_b8Hwv-ubt6842pFP2888F-wIZtQJ3AJp_HnKS3iGXT6KfoA&sig=AOD64_2E1ac9YGWqTfpnbYltV0_g93miDw&client=ca-video-pub-2579189069606201&adurl=https://www.cloudflare.com/lp/security-xd/%3F_bt%3D391229100409%26_bk%3D%26_bm%3D%26_bn%3Dd%26_bg%3D70163437336%26_placement%3Ddevelopers.google.com%26_target%3Dboomuserlist%253A%253A808174254%26_loc%3D1028580%26_dv%3Dc%26gclid%3DCj0KCQiA0ZHwBRCRARIsAK0Tr-qRybRSDn2KDaD2CN7wZEfR9PMaTbR3nWCMA1Urm_I0Ty3mYsM8XgIaAvayEALw_wcB]]></NonLinearClickThrough>
      </NonLinear>
     </NonLinearAds>
    </Creative>
   </Creatives>
   <Extensions><Extension type="AdSense"><AttributionText>Ads by Google</AttributionText><AttributionUrl><![CDATA[https://www.google.com/url?ct=abg&q=https://www.google.com/adsense/support/bin/request.py%3Fcontact_type%3Dafv_violation%26url%3Dhttps://developers.google.com/interactive-media-ads/docs/sdks/html5/vastinspector%26client%3Dca-video-pub-2579189069606201%26videoid%3D&usg=AFQjCNEz9GDtgaO8-KGTTwVH6JAAS5lwfA]]></AttributionUrl><PreviousAdInformation>fWeIKicyj4IKEwiV7qPW7dTmAhWZwpYKHSM4BbUQARgCIITMjTFCBhgBKAE4AQ</PreviousAdInformation><VisibleUrl><![CDATA[cloudflare.com]]></VisibleUrl><CustomTracking><Tracking event="one_point_five_expand_tap"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=Cyl4mdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAZgEAKoEsgJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NXKzjcEhELx4oRiqWxdgMfABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKgAoByAsB2BMC&sigh=2S2t4wY1bNs&cid=CAMSeQClSFh322ybAn_p2k97CRS7GTnGT7bp6q8D3NetWONpBSLP_xACQ9N1LGQY_iiDqODEilGU4EAhW17Nxykg1ohEKbCgo6_fonLfBn_ED8zPMs_QYzBNPCBpmc3VUpM1ClWF_NHKPXJuHx8ol0RNuGXDrylEo61BmMo&cmd=Ch1jYS12aWRlby1wdWItMjU3OTE4OTA2OTYwNjIwMRAAGAE&label=one_point_five_expand_tap]]></Tracking><Tracking event="one_point_five_collapse_tap"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=Cyl4mdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAZgEAKoEsgJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NXKzjcEhELx4oRiqWxdgMfABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKgAoByAsB2BMC&sigh=2S2t4wY1bNs&cid=CAMSeQClSFh322ybAn_p2k97CRS7GTnGT7bp6q8D3NetWONpBSLP_xACQ9N1LGQY_iiDqODEilGU4EAhW17Nxykg1ohEKbCgo6_fonLfBn_ED8zPMs_QYzBNPCBpmc3VUpM1ClWF_NHKPXJuHx8ol0RNuGXDrylEo61BmMo&cmd=Ch1jYS12aWRlby1wdWItMjU3OTE4OTA2OTYwNjIwMRAAGAE&label=one_point_five_collapse_tap]]></Tracking><Tracking event="noop_tap"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=Cyl4mdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAZgEAKoEsgJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NXKzjcEhELx4oRiqWxdgMfABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKgAoByAsB2BMC&sigh=2S2t4wY1bNs&cid=CAMSeQClSFh322ybAn_p2k97CRS7GTnGT7bp6q8D3NetWONpBSLP_xACQ9N1LGQY_iiDqODEilGU4EAhW17Nxykg1ohEKbCgo6_fonLfBn_ED8zPMs_QYzBNPCBpmc3VUpM1ClWF_NHKPXJuHx8ol0RNuGXDrylEo61BmMo&cmd=Ch1jYS12aWRlby1wdWItMjU3OTE4OTA2OTYwNjIwMRAAGAE&label=noop_tap]]></Tracking></CustomTracking><UI> <config>
  <context data="default"/>
  <params>
   <attribution_text data="Ads by Google"/>
   <enable_companion_banner bool="true"/>
   <attribution_url data="https://www.google.com/adsense/support/bin/request.py?contact_type=afv_violation&amp;url=https://developers.google.com/interactive-media-ads/docs/sdks/html5/vastinspector&amp;client=ca-video-pub-2579189069606201&amp;videoid="/>
   <signals int="25"/>
  </params>
 </config>
</UI><ConversionUrl><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=Cyl4mdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAZgEAKoEsgJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NXKzjcEhELx4oRiqWxdgMfABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKgAoByAsB2BMC&sigh=2S2t4wY1bNs&cid=CAMSeQClSFh322ybAn_p2k97CRS7GTnGT7bp6q8D3NetWONpBSLP_xACQ9N1LGQY_iiDqODEilGU4EAhW17Nxykg1ohEKbCgo6_fonLfBn_ED8zPMs_QYzBNPCBpmc3VUpM1ClWF_NHKPXJuHx8ol0RNuGXDrylEo61BmMo&cmd=Ch1jYS12aWRlby1wdWItMjU3OTE4OTA2OTYwNjIwMRAAGAE]]></ConversionUrl><QueryId>CJXuo9bt1OYCFZnClgodIzgFtQ</QueryId><WhyThisAd><WtaClickThroughUrl><![CDATA[https://adssettings.google.com/whythisad?reasons=AB3afGEAAACCW1tbW251bGwsWzEsMiwyMV0sbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCx0cnVlXSxbXV1dLFsyLDFdXUovzNYhLaUlanh01xiIhAN7ucEE4aRA2Ljn_3R0hSXm9FOgxl8haaO7ppan6EfIWduoF3HF6Exu3SRyZxppB_LicZz-gJ7kDbR6q0NC5RoPZE8LaA3H7piqFvY_P0cmPKVSiHL6rER9gxWUKNcE7QBPCaX9obhaDH3bQT3a6L4NXkqHYvwCYtbGLXFfbHiQgXGolrONo42cqxpY3kwIyO7WJ9WUXCJcswttVhiIoFucCCEmfBZAB90-lmjrtpthK6293YgesLKWxob0RocQXkU33rsfHk3GAJZ-VvRCKHkO57BxYyMh7xN1rFmuXsdnopiGLom_0XUKMC45wn47oW8,WRB92puIsqhXFdFMR-tICA&source=display&cbt=XpDvMKJ7KckIhuyRnp8KEOCvhPYGGITMjTEiDmNsb3VkZmxhcmUuY29tMggIBRMY-NYZFEIdY2EtdmlkZW8tcHViLTI1NzkxODkwNjk2MDYyMDFIBVgCcAGCAQri1NSp_v____8BqAEB&cv=https://googleads.g.doubleclick.net/pagead/conversion/%3Fai%3DCCdHrdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAcgDGZgEAKoEwQJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NWIzDnuJ787tkf7tN7N29MgWBK2z98uoqLCyJQC3arABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKsQnLd_vLurU6doAKAcgLAdgTAg%26sigh%3DSfXcdA_hAc0%26cid%3DCAQSMADwy9IZu4PvN_SyG1frKZ0hSQmFHitrqVLSAfTtg-0epORGX_5AFBUCoTYjOgfWTA]]></WtaClickThroughUrl></WhyThisAd></Extension><Extension type="why_this_ad"><UI><config><params><why_this_ad_menu data="Why this ad?"/><why_this_ad_got_it data="CLOSE"/><why_this_ad_generic_message_left data="Visit Google's "/><why_this_ad_generic_message_hypertext data="Ad Settings"/><why_this_ad_generic_message_right data=" to learn more about how ads are targeted or to opt out of personalized ads."/><why_this_ad_control data="Control the ads you see on Google"/><why_this_ad_targeting_reason_header data="This ad is based on:"/><why_this_ad_targeting_reason data="Your visit to the advertiser's website/app"/><why_this_ad_targeting_reason data="The video you're watching"/><why_this_ad_targeting_reason data="Websites you've visited"/></params></config></UI><CustomTracking><Tracking event="why_this_ad_url"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=Cyl4mdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAZgEAKoEsgJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NXKzjcEhELx4oRiqWxdgMfABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKgAoByAsB2BMC&sigh=2S2t4wY1bNs&cid=CAMSeQClSFh322ybAn_p2k97CRS7GTnGT7bp6q8D3NetWONpBSLP_xACQ9N1LGQY_iiDqODEilGU4EAhW17Nxykg1ohEKbCgo6_fonLfBn_ED8zPMs_QYzBNPCBpmc3VUpM1ClWF_NHKPXJuHx8ol0RNuGXDrylEo61BmMo&cmd=Ch1jYS12aWRlby1wdWItMjU3OTE4OTA2OTYwNjIwMRAAGAE&label=closebutton_whythisad_click]]></Tracking><Tracking event="why_this_ad_settings_url"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=Cyl4mdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAZgEAKoEsgJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NXKzjcEhELx4oRiqWxdgMfABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKgAoByAsB2BMC&sigh=2S2t4wY1bNs&cid=CAMSeQClSFh322ybAn_p2k97CRS7GTnGT7bp6q8D3NetWONpBSLP_xACQ9N1LGQY_iiDqODEilGU4EAhW17Nxykg1ohEKbCgo6_fonLfBn_ED8zPMs_QYzBNPCBpmc3VUpM1ClWF_NHKPXJuHx8ol0RNuGXDrylEo61BmMo&cmd=Ch1jYS12aWRlby1wdWItMjU3OTE4OTA2OTYwNjIwMRAAGAE&label=whythisad_adsettings_click]]></Tracking><Tracking event="why_this_ad_got_it"><![CDATA[https://googleads.g.doubleclick.net/pagead/conversion/?ai=Cyl4mdXYFXtXfGJmF2wSj8JSoC5OrlPVahuyRnp8K8ujTw4AWEAEgzZGJIWDBrfoNoAHkq83PA8gBAqgDAZgEAKoEsgJP0AOulaeFvRi47AK6G2mH77MxG6vozBAzXh7-7bdg_d2KUrREp4z91qps2nKm-uzyvrM2jl6R59z2fWofJ4jg7f2tXO_LdjS3BWIuRseTLF0a79ZfnY5qvr12N5gLSr9wsQi-H6NnIo_ByNt8lipJIQmIV65fKhpDez86Rag7Vgi8oCGGhbcSMpl-I06V0aMSvZMZs3bkfNnDwlnoVp7zKdw-auC1I9NAbKCZk86_ahFXJmzRdBXataE1ZHCdj14yGXrr7oM1uv2-d80P6CZFPtgHWEO-LOnKMM2GQVuAWK2pUngU7AsMDqQ_a_YmNn9pUJFWPhsYJ4tG8MAe9Q3mFNbpcydzGGAs6LSNwA_3K39vbaFqYO9-K7Qao5xoCojf1NXKzjcEhELx4oRiqWxdgMfABJiuxLCFApAGAaAGAoAHhNSyMIgHAZAHAqgHjs4bqAfVyRuoB5PYG6gHugaoB_LZG6gHpr4bqAfs1RuoB_PRG6gH7NUb2AcB0ggGCAAQAhgKgAoByAsB2BMC&sigh=2S2t4wY1bNs&cid=CAMSeQClSFh322ybAn_p2k97CRS7GTnGT7bp6q8D3NetWONpBSLP_xACQ9N1LGQY_iiDqODEilGU4EAhW17Nxykg1ohEKbCgo6_fonLfBn_ED8zPMs_QYzBNPCBpmc3VUpM1ClWF_NHKPXJuHx8ol0RNuGXDrylEo61BmMo&cmd=Ch1jYS12aWRlby1wdWItMjU3OTE4OTA2OTYwNjIwMRAAGAE&label=whythisad_closed]]></Tracking></CustomTracking></Extension></Extensions>
  </InLine>
 </Ad>
</VAST>

Here the response I get from https://developers.google.com/interactive-media-ads/docs/sdks/html5/vastinspector with pre-roll tag above

nautilux2 commented 4 years ago

We have been getting this same error recently. Since our setup is different than natilux2, I don't think that it's related to using VMAP or not. I debugged this and it appears to be occurring in videojs-ima during the initialization phase. I've been able to reproduce this using the autoplay example code running in a localhost environment. I just discovered this (the repro with autoplay) so I will post more information shortly.

Thanks for helping me out Wait for you details

dilburt commented 4 years ago

natilux2 - which versions of videojs, videojs-ads and videojs-ima are you using?

nautilux2 commented 4 years ago

natilux2 - which versions of videojs, videojs-ads and videojs-ima are you using?

videojs :

/**
 * @license
 * Video.js 7.6.5 <http://videojs.com/>
 * Copyright Brightcove, Inc. <https://www.brightcove.com/>
 * Available under Apache License Version 2.0
 * <https://github.com/videojs/video.js/blob/master/LICENSE>
 *
 * Includes vtt.js <https://github.com/mozilla/vtt.js>
 * Available under Apache License Version 2.0
 * <https://github.com/mozilla/vtt.js/blob/master/LICENSE>
 */
/**
   * @videojs/http-streaming
   * @version 1.10.6
   * @copyright 2019 Brightcove, Inc
   * @license Apache-2.0
   */

videojs-contrib-ads : /*! @name videojs-contrib-ads @version 6.6.4 @license Apache-2.0 */

videojs-ima : lastest

And you guys should include version to the dist js file

dilburt commented 4 years ago

Interesting. We are running older versions: videojs: 6.13 videojs-ads: 6.6.3 videojs-ima: 1.5.2

We generally don't upgrade until there is a specific reason to do so but that doesn't seem to be the issue.

Here is my log trace from running the Autoplay example "ads.js" in my localhost test environment. I'm running the code as-is except that I'm using local copies of the above versions of videojs, videojs-ads and videojs-ima.

This is difficult to debug because it's happening during init so any breakpoints cause contrib-ads to timeout. However, I see videojs-ima initializing and calling adsRequest but rather than just loading the ad tag, it appears to be calling it which is returning the 1005 - error 6 response. Here is what I'm getting in the Console Log:

ima3.js:365 IMA outer:newman 20:22:50.801 DocsOpener.js:1 [ WCER: Connected to Chrome Extension Hot Reloader ] 2920:22:51.019 A cookie associated with a cross-site resource at was set without the SameSite attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with SameSite=None and Secure. You can review cookies in developer tools under Application>Storage>Cookies and see more details at and . 20:22:51.004 index.html:1 A cookie associated with a resource at http://google.com/ was set with SameSite=None but without Secure. A future release of Chrome will only deliver cookies marked SameSite=None if they are also marked Secure. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5633521622188032. 20:22:51.214 bridge3.355.3_en.html:925 IMA inner:newman 20:22:52.515 VM6:1 GET https://googleads.g.doubleclick.net/pagead/ads?... ... 20:22:52.801 videojs.ima.js:1416 AdsLoader error: AdError 1005: There was a problem requesting ads from the server. Caused by: Error: 6

The log entries of "IMA outer:newman" and "IMA inner:newman" are relatively new and I haven't tried to debug bridge3.355.4_en.html (if that's even possible).

D

P.S. I upgraded to videojs-ima version 1.7.4 and still get the exact same log output. P.S.S I cannot reproduce this on our test servers using the exact set of files and libraries I have in localhost. We move systems back and forth between our localhost and test server environments all the time and this is the first thing I can recall that didn't act the same way on both so I'm not sure what to think about that. However, we are getting 10's of thousands of these errors daily across our wold-wide customer base which are identical to the localhost results so it would be nice to know if anyone else gets this 1005 error 6 failure running the videojs-ima autoplay example code in localhost.

nautilux2 commented 4 years ago

In my older version still the same error like this so I decided to upgrade to the new version in my new project but not different

P.S I have same result like your infomation on localhost

arnaudcasame commented 4 years ago

Hi @natilux2 ,

The issue you're facing seems to be with your implementation, at some point of your app's runtime, you're switching your ad tags so that you can request the post-roll. If you have a URI builder implementation the issue may come from the fact that somewhere in your code, the post-roll URI is malformed. I'm saying this because the AdError 1005 is to notify you that the SDK failed to request the ad. As per the Resolve VAST and IMA SDK errors the 1005 error code is thrown because the URI is malformed. We would recommend you to double check your implementation and see if the ad tag uri is correctly built before requesting the ads.

nautilux2 commented 4 years ago

Hi @natilux2 ,

The issue you're facing seems to be with your implementation, at some point of your app's runtime, you're switching your ad tags so that you can request the post-roll. If you have a URI builder implementation the issue may come from the fact that somewhere in your code, the post-roll URI is malformed. I'm saying this because the AdError 1005 is to notify you that the SDK failed to request the ad. As per the Resolve VAST and IMA SDK errors the 1005 error code is thrown because the URI is malformed. We would recommend you to double check your implementation and see if the ad tag uri is correctly built before requesting the ads.

Hi @arnaudcasame This 2 tags work fine in the jw player ima, it being gen from adsense dashboard so it can't be malformed or something like that. If you can see something wrong in my implementation, plesase show me how to fix My implementation I paste above, nothing left Thanks a lot

dilburt commented 4 years ago

Hi @arnaudcasame,

I have setup a test using your own autoplay example code that appears to show that these 1005 errors are being caused by various privacy windows and secure browsers. Here are the steps to reproduce using the most recent Quantum release of Firefox:

Here is a test URL for this issue. This is the Autoplay example from this github site. I have modified it to load the libraries from the current directory for simplicity and have changed the ad URL to a real Google Ad Tag since the sample tags do not execute the normal Google ad server code and will not reproduce this problem due to that.

https://js.applixir.com/ima/Autoplay/index.html

  1. First verify proper operation using a standard Firefox window running the Videojs-IMA Autoplay example from the above url.
  2. Next open a Firefox private window
  3. Run the same URL and note the 1005, Error: 6 failure code

Thanks,

Applixir Team

nautilux2 commented 4 years ago

Anyone can help or any suggestion for this issue

Kiro705 commented 4 years ago

HI @natilux2,

Looking at your implementation, it looks like the issue is with the event listener setup.

You should call:

// do what needs doing.
player.ima.changeAdTag(adTagPost);
player.ima.requestAds();

Not on contentended event, this is when your video content ends. You should call it once the post-roll finishes, on the allAdsCompleted event. Using:

player.ima.addEventListener(
        google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
        functionToLoadNextAdTagAndContent();
  }

Note: If some ads do not include post-roll, the contentended event is correct. To cover both cases, make sure both the contentended and allAdsCompleted events are called before loading the next ads/content.

Let me know if that helps your issue, Jackson IMA SDK DevRel

arnaudcasame commented 4 years ago

@natilux2 and @dilburt,

We've investigated the test page you shared, ran it against the Firefox browser with the private mode activated. We were able to reproduce the behavior that you reported. However, it seems to be caused by the fact that the Firefox privacy protector is blocking the content and the ad requests. It's not an issue with the vjs-ima plugin or the IMA SDK but it is an issue with the privacy settings of the browser itself. vjs-ima-firefox-privacy

nautilux2 commented 4 years ago

HI @natilux2,

Looking at your implementation, it looks like the issue is with the event listener setup.

You should call:

// do what needs doing.
player.ima.changeAdTag(adTagPost);
player.ima.requestAds();

Not on contentended event, this is when your video content ends. You should call it once the post-roll finishes, on the allAdsCompleted event. Using:

player.ima.addEventListener(
        google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
        functionToLoadNextAdTagAndContent();
  }

Note: If some ads do not include post-roll, the contentended event is correct. To cover both cases, make sure both the contentended and allAdsCompleted events are called before loading the next ads/content.

Let me know if that helps your issue, Jackson IMA SDK DevRel

@Kiro705
I have 2 adTag, 1 for pre-roll and 1 for post-roll. It's adsense tag so there is only one ad at a time I want to call the post-roll adTag when the content finished

nautilux2 commented 4 years ago

@Kiro705 @arnaudcasame Here my jsfiddle demo https://jsfiddle.net/nautilux/beozsm4j/10/ The css part is videojs.css, video-contrib-ad.css and videojs-ima.css You guys can use it to track problem

P.s The demo do not work cause jsfiddle

Kiro705 commented 4 years ago

Hi @natilux2 ,

Sorry for this misunderstanding. We recommend using VMAP to play multiple ads, however please see the following work around for your use case:

player.ima.addEventListener(
    google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
    function(){
      if(!postRollLoaded){ // so it only happens once
        postRollLoaded = true;

        var postRollSettings = {
          adTagUrl: POST_ROLL_AD_TAG,
          // Any other settings you want to include as well.
        };

        player.ima.controller.initWithSettings(postRollSettings);
        player.ima.requestAds();

        // Note: here you may need to re-call all event listeners from the post-roll ad
      }
    });

Let me know if that works for you.

nautilux2 commented 4 years ago

Hi @natilux2 ,

Sorry for this misunderstanding. We recommend using VMAP to play multiple ads, however please see the following work around for your use case:

player.ima.addEventListener(
    google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
    function(){
      if(!postRollLoaded){ // so it only happens once
        postRollLoaded = true;

        var postRollSettings = {
          adTagUrl: POST_ROLL_AD_TAG,
          // Any other settings you want to include as well.
        };

        player.ima.controller.initWithSettings(postRollSettings);
        player.ima.requestAds();

        // Note: here you may need to re-call all event listeners from the post-roll ad
      }
    });

Let me know if that works for you.

I'm not at work for 2 days, so will reply you asap

nautilux2 commented 4 years ago

@Kiro705 I already tried your solution but nothing happens I can log google.ima.AdEvent.Type to the console but the function player.ima.addEventListener does not seem to work as expected


 player.ima.addEventListener(
                google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
                function () {
                    console.log("postRollLoaded => " + postRollLoaded);
                    if (!postRollLoaded) { // so it only happens once
                        postRollLoaded = true;

                        console.log('postRollLoaded');

                        var postRollSettings = {
                            adTagUrl: adTagPost
                            // Any other settings you want to include as well.
                        };

                         // increase video-element height to allow ads load
                        $('.video-js, .vjs-fluid').css({ 'height': '400px' });
                        $('#' + videoElement.attr('id')).css({ 'height': '400px' });

                        player.ima.initializeAdDisplayContainer();

                        player.ima.controller.initWithSettings(postRollSettings);
                        player.ima.requestAds();

                        // Note: here you may need to re-call all event listeners from the post-roll ad
                    }
                });
Kiro705 commented 4 years ago

Hi @natilux2 ,

What about the function call did not work as expected? Were there any errors that could help with debugging the issue?

nautilux2 commented 4 years ago

Hi @Kiro705 I used your solution, like the code you show me. Event google.ima.AdEvent.Type.ALL_ADS_COMPLETED did not fire, nothing happens, no error, no log.

I can capture player event but not ads event

Kiro705 commented 4 years ago

Do other ad events work for you?

I recommend looking at how the Advanced Example sets up events as a guide for using the google.ima.AdEvent.Type.ALL_ADS_COMPLETED event.

Please let me know if you have any follow up questions.

nautilux2 commented 4 years ago

@Kiro705 I only capture adendand aderrorevent

player.on("adserror", function (event) {
                setTimeout(function () {
                    $('.video-js, .vjs-fluid').css({ 'height': 'unset' });
                    $('#' + videoElement.attr('id')).css({ 'height': '100%' });
                }, 0);
            });

            player.on("adend", function (event) {
                setTimeout(function () {
                    $('.video-js, .vjs-fluid').css({ 'height': 'unset' });
                    $('#' + videoElement.attr('id')).css({ 'height': '100%' });
                }, 0);
            });
Kiro705 commented 4 years ago

When I was working on this issue, I found that calling player.ima.changeAdTag() destroys the ad manager and no IMA event fire after that call. The workaround uses player.ima.controller.initWithSettings() to avoid that issue.

Do you have a current testing environment where my solution was implemented so I can better help debug the issue?

nautilux2 commented 4 years ago

@Kiro705 I will provide you tomorrow Thanks for your help

nautilux2 commented 4 years ago

Hi @Kiro705
Here my demo http://vtcnew.vn/demo/videojs-test.htm As you can see, I used your code but nothing got logged

Kiro705 commented 4 years ago

I see, it requires a different setup, detailed in the Advanced Example to set up the ad events.

I believe the code snippet below will solve your issue. As a note, the ad tags were not working for me so I replaced with a sample preroll and postroll.

var postRollLoaded = false
var firstInit = true;

var videoOptions = {
  controls: true,
  autoplay: true,
  muted: true,
  sources: [{
        src: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4'
  }]
};

// These ad tags were not working for me
var adTagPre = "https://googleads.g.doubleclick.net/pagead/ads?ad_type=video_image&client=ca-video-pub-2579189069606201&description_url=http%3A%2F%2Fvtc.vn&channel=PrerollVideo+Entertainment+Education+Health+Animation&videoad_start_delay=0&hl=vi&max_ad_duration=15000&sdmax=30000";
var adTagPost = "https://googleads.g.doubleclick.net/pagead/ads?ad_type=video_image&client=ca-video-pub-2579189069606201&description_url=http%3A%2F%2Fvtc.vn&channel=PrerollVideo+Entertainment+Education+Health+Animation&videoad_start_delay=-1&hl=vi&max_ad_duration=15000&sdmax=30000";

var myPre = "https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/ad_rule_samples&ciu_szs=300x250&ad_rule=1&impl=s&gdfp_req=1&env=vp&output=vmap&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ar%3Dpreonly&cmsid=496&vid=short_onecue&correlator=";
var myPost = "https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/ad_rule_samples&ciu_szs=300x250&ad_rule=1&impl=s&gdfp_req=1&env=vp&output=vmap&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ar%3Dpostonly&cmsid=496&vid=short_onecue&correlator=";

var options = {
    adTagUrl: myPre
};

var Ads = function() { 
    this.player = videojs('vid_player', videoOptions);
    this.player.ima(options);

    this.player.on('ads-manager', function(response){
        this.init();
    }.bind(this));
}

Ads.prototype.init = function() {
    console.log('init');
    if(firstInit) {    
        this.adsManagerLoadedCallback();
        firstInit = false;
    }
};

Ads.prototype.adsManagerLoadedCallback = function() {
    var events = [
        google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
        google.ima.AdEvent.Type.CLICK,
        google.ima.AdEvent.Type.COMPLETE,
        google.ima.AdEvent.Type.FIRST_QUARTILE,
        google.ima.AdEvent.Type.LOADED,
        google.ima.AdEvent.Type.MIDPOINT,
        google.ima.AdEvent.Type.PAUSED,
        google.ima.AdEvent.Type.RESUMED,
        google.ima.AdEvent.Type.STARTED,
        google.ima.AdEvent.Type.THIRD_QUARTILE
    ];

    for (var index = 0; index < events.length; index++) {
        this.player.ima.addEventListener(
            events[index],
            this.onAdEvent.bind(this)
        );
    }

    this.player.ima.addEventListener(
      google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
      function(){
        if(!postRollLoaded){
            postRollLoaded = true;
            firstInit = true;

            const postRollSettings = {
                adTagUrl: myPost,
            };

            this.player.ima.controller.initWithSettings(postRollSettings);
            this.player.ima.requestAds();
        }
      }.bind(this)
    );

    this.player.on('adslog', this.onAdLog.bind(this));
};

Ads.prototype.onAdLog = function(data) {
    this.log('Ad log: ' + data.data.AdError);
};

Ads.prototype.onAdEvent = function(event) {
    var message = 'Ad event: ' + event.type;
    this.log(message);
};

Ads.prototype.log = function(message) {
    console.log(message);
}

var ads = new Ads();
nautilux2 commented 4 years ago

Hi @Kiro705
Thanks I tried your implement and it seems works fine. Can you show me why my setup can not work? I thought the event already bind to the code ( I mean the dist file)

P.S My post-roll adsense tag open right after the google.ima.AdEvent.Type.ALL_ADS_COMPLETED event but not the end of video (you can try at https://developers.google.com/interactive-media-ads/docs/sdks/html5/vastinspector?hl=vi )

Kiro705 commented 4 years ago

Hi @natilux2 ,

I am not sure why that specific setup is needed for the ad events to work, but I believe the module is looking for the Ads constructor to attach these events to.

In regards to your post-roll, does it play at the end of content if used in the VSI? If not, the tag is not a post-roll ad tag. If you would like to use a non post-roll tag at the end of content, that will require your own custom implementation.

nautilux2 commented 4 years ago

Hi @Kiro705 It does not display at the end of video ( in vsi an my implement either ). But my adsense tag generate with option post-roll

nautilux2 commented 4 years ago

Thanks, I move to jwPlayer due no support from google Adsense team, everything works fine now. I will close this issue

itayganor commented 4 years ago

Seriously? This got closed due to lack of support?

This issue has to be fixed; it can't be that hard.

According to my insights, it only happens when on localhost. Maybe this could be a good place to start.

itayganor commented 4 years ago

In addition, it seems like jwPlayer requires 10$ per month to use ads in their player. @natilux2 Do you pay for them?

nautilux2 commented 4 years ago

@itayganor thanks to read my issue Everyone in here is nice and supported me alot. When i tried to implement as they suggest, it is working but not display ads correctly (ex in this bug is the post roll display right after the pre roll). I asked the google adsense team for this ( through my admin ) and no reply. At last i moved to jwplayer. And about 10$ per month to display ads, of course, we bought license for a year When use jwplayer i have 2 version run together to perform a/b testing. And we have a plan to host jwplayer locally

sector07g commented 2 years ago

not set the "description_url" and "url"