Open ntamblyn opened 8 years ago
This scheduler is designed as play contents if any parse error occurs while retrieving/parsing VMAP&VAST documents. Also, since we do not want to interrupt user experiences it will not mark as error under ad scheduler (but will be an error in VMAP/DMVAST plugin). If content is just played but ads are not it most likely due to parsing VMAP&VAST failed.
Once VMAP or VAST error occurred, null will return to ad-scheduler callback. To make sure if documents are parsed correctly, check what contents that vmapCallback function received, also, trace what content that vastCallback function received are also helpful.
Please set debug = true
in plugin options and check the console log can help us to identify what happened.
output of debug
VIDEOJS: ad-scheduler Ordered: [{"breakType":"linear","timeOffset":0,"breakId":"mymidpod","allowMultipleAds":true,"followRedirects":false,"id":"2","templateType":"vast3","vastAdData":null,"adTagURI":"http://urlhere","isWrapper":true,"trackingEvent":{"breakStart":["?ad/tracking/?label=breakStart"],"breakEnd":["?ad/tracking/?label=breakEnd"],"error":["?ad/tracking/?label=error"]},"tracker":{"trackingEvents":{"breakStart":["?ad/tracking/?label=breakStart"],"breakEnd":["?ad/tracking/?label=breakEnd"],"error":["?ad/tracking/?label=error"]}}}]
VIDEOJS: ads adsready triggered: content-set -> ads-ready
VIDEOJS: [ad-scheduler] Preroll triggered.
VIDEOJS: [ad-scheduler] Access URL:http://adurlhere
VIDEOJS: ads play triggered: ads-ready -> preroll?
VIDEOJS: ads adtimeout triggered: preroll? -> content-playback
The vmapCallback enters the wrapper true if statement, but nothing is being returned by the vastCallback, so to me it is not making it that far.
Wow! it looks like preroll is scheduled and the player actually enters preroll mode at that time. Since the document uses wrapper tag it will use DMVAST to directly handle VAST document.
Is web development console has any request logs for that document? It should at least have one on it. Also, could you please provide more information about the VAST parser used in the project?
The demo site is actually used some modified VAST client library that is not totally same as DailyMotion provided, this different may also cause some unexpected result.
By request logs do you mean the XHR requests ? if so yes i have one.
I am using the VAST parser provided by yourself , as when i try using the DailyMotion one i get an error in the console saying to use your one.
So by our discuss I can guess it actually has some parse error for VAST document....
Here is a hack we can check if my assumption is true:
url
.DMVAST.client.get(url, null, function( vast ){console.log(vast); debugger;});
After executed code, if develop console show nothing it means either VAST document has some error or has some extra attributes that current version of VAST parser can not handle. This check is also suitable for original DailyMotion VAST parser too.
In your use case, the AD scheduler does not require inline VAST document parse support, so it is safe to comment out line 81-83
in videojs-ad-scheduler.js
to make Dailymotion VAST client work.
it returns with no vastResponse but the xhr response responds with document which is my wrapper
<Playlist>
<Preroll>
<Ad>
<![CDATA[http://actual vast playlist url herel]]>
</Ad>
</Preroll>
</Playlist>
The url within that wrapper contains my Vast playlist E.G
<?xml version="1.0" encoding="UTF-8"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="2.0">
<Ad id="101554019">
<InLine>
<AdSystem>GDFP</AdSystem>
<AdTitle>TITLE</AdTitle>
<Description><![CDATA[Description]]></Description>
<Error><![CDATA[http://]]></Error>
<Impression><![CDATA[http://]]></Impression>
<Creatives>
<Creative id="100704293099" sequence="1">
<Linear>
<Duration>00:00:30</Duration>
<TrackingEvents>
<Tracking event="start"><![CDATA[]]></Tracking>
<Tracking event="firstQuartile"><![CDATA[http://]]></Tracking>
<Tracking event="midpoint"><![CDATA[http://]]></Tracking>
<Tracking event="thirdQuartile"><![CDATA[http://]]></Tracking>
<Tracking event="complete"><![CDATA[http://]]></Tracking>
<Tracking event="mute"><![CDATA[http://]]></Tracking>
<Tracking event="unmute"><![CDATA[http://]]></Tracking>
<Tracking event="rewind"><![CDATA[http://]]></Tracking>
<Tracking event="pause"><![CDATA[http://]]></Tracking>
<Tracking event="resume"><![CDATA[http://]></Tracking>
<Tracking event="fullscreen"><![CDATA[http://]]></Tracking>
<Tracking event="creativeView"><![CDATA[http://]]></Tracking>
<Tracking event="acceptInvitation"><![CDATA[http://]]></Tracking>
<Tracking event="start"><![CDATA[http://]></Tracking>
<Tracking event="complete"><![CDATA[http://]]></Tracking>
</TrackingEvents>
<VideoClicks>
<ClickThrough id="GDFP"><![CDATA[http://]]></ClickThrough>
<ClickTracking id=""><![CDATA[http://url-here]]></ClickTracking>
</VideoClicks>
<MediaFiles>
<MediaFile id="GDFP" delivery="progressive" width="1024" height="576" type="video/mp4" bitrate="2252" scalable="true" maintainAspectRatio="true"><![CDATA[http://video-clip-url-here]]></MediaFile>
</MediaFiles>
</Linear>
</Creative>
</Creatives>
<Extensions>
<Extension type="activeview"><CustomTracking>
<Tracking event="viewable_impression"><![CDATA[http://[VIEWABILITY]&gv=[GOOGLE_VIEWABILITY]]]></Tracking>
<Tracking event="abandon"><![CDATA[http://[VIEWABILITY]&gv=[GOOGLE_VIEWABILITY]]]></Tracking>
</CustomTracking>
</Extension>
<Extension type="geo"><Country>GB</Country>
<Bandwidth>3</Bandwidth>
<BandwidthKbps>1240</BandwidthKbps>
</Extension>
<Extension type="waterfall" fallback_index="0"/></Extensions>
</InLine>
</Ad>
</VAST>
What i think is happening is that it is not parsing the second URL where the actual VAST Ad is. I am not sure if your plugin is capable of doing this ?
Hello i am having problems trying to get this to work with the google DFP.
I have my VMAP file like so
So the url reference above will return a wrapper.
And then that url contains the VAST ad data.
However no ad is played or returned, and no errors are thrown in the debug output.
Any ideas how i can get this to work ?