TypeError: Cannot read properties of null (reading 'isLinear')

67 views
Skip to first unread message

Jesse Thompson

unread,
Aug 7, 2022, 3:47:45 PM8/7/22
to Interactive Media Ads SDK
Hello!

I am making progress in building my own ad server on golang.
I am successfully formatting XML vmap and vast tags correctly based on query parameters in a fetch request called by IMA for the vmap ad tag url.

My vmap I am using is correct as I did replace the items with sample vast links provided here https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/tags and they did work. Although when I pass hls and dash files and build my vast tags from scratch all I get is "Cannot read properties of null (reading 'isLinear')

Please advise what am I missing to make this vast tag work. I am reading through this https://www.iab.com/wp-content/uploads/2015/06/VASTv3_0.pdf but I feel I have everything correct.

I am running this in my local environment but the hls and mpd files will work, they are being served via cloudfront cdn


See vast tag text below:

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Vast xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
<script/>
<Ad id="924c0ecb3cf149d198fdaf7a55576a71">
<Inline>
<AdSystem>Tycoon</AdSystem>
<AdTitle>One of those days</AdTitle>
<Description><![CDATA[ And then everything disappeared ]]></Description>
<Creatives>
<Creative id="63fc01dc50af45988feac2208ff087ac" AdID="924c0ecb3cf149d198fdaf7a55576a71" sequence="1">
<Linear>
<Duration>00:01:20</Duration>
<TrackingEvents>
</TrackingEvents>
<VideoClicks>
</VideoClicks>
<MediaFiles>
<MediaFile id="63fc01dc50af45988feac2208ff087ac-hls" delivery="streaming" width="426" height="240" type="application/x-mpegURL" minBitrate="49" maxBitrate="258" scalable="true" maintainAspectRatio="true">
</MediaFile>
<MediaFile id="63fc01dc50af45988feac2208ff087ac-mpd" delivery="streaming" width="426" height="240" type="application/dash+xml" minBitrate="49" maxBitrate="258" scalable="true" maintainAspectRatio="true">
</MediaFile>
</MediaFiles>
</Linear>
</Creative>
</Creatives>
</Inline>
</Ad>
</Vast>


IMA SDK

unread,
Aug 8, 2022, 3:19:56 AM8/8/22
to jessealexan...@gmail.com, ima...@googlegroups.com

Hello Jesse,

 

I'm Michael from IMA SDK Team. Thank you for reaching out to us.

 

Please be informed that our support channel can only give precise guidance on technical concerns with SDK implementation. I have tested your VAST XML and can confirm the error of VAST being malformed. However, creation of VAST Ad Tag is out of our scope and expertise, and issues like this are usually raised to their Ad provider or the publisher support team if they are using Google Ad Manager as their Ad server. But, since in your use case you are the one who is creating it, I'm afraid that there is nothing we can do about. You may try reading through this articles below and see if it can help as reference for your concern:

 

Let us know should you have further SDK specific questions.

Regards,

Google Logo
Michael Angelo
IMA SDK Team
 


ref:_00D1U1174p._5004Q2dIKF8:ref

Jesse Thompson

unread,
Aug 8, 2022, 12:09:36 PM8/8/22
to Interactive Media Ads SDK
Hello Michael,

I appreciate the guidance. I am making progress. Im going to attempt including the cloud mp4 files as well and continuing with my research on what I am missing. I know the format is correct, only a matter of time before I figure it out.

Thanks,

Jesse

Jesse Thompson

unread,
Aug 9, 2022, 12:26:05 AM8/9/22
to Interactive Media Ads SDK
I have since gotten my ads to start working with the following tag below. If you paste it here: https://googleads.github.io/googleads-ima-html5/vsi/ it works

The issue is, my architecture has been built around a HLS/mpeg-dash setup. Which means my video files contain no audio and my audio files are separate. I had to include a video file in order for the ad to play in shaka player. What is the best method for creating VAST tags with only HLS (m3u8) and Dash (mpd) files? Because I do not plan on duplicating all uploaded video files to contain video and audio and I want all video files uploaded to be able to be turned into ads.

Please advise the best route to resolve this.

<Vast version="3.0">
<script/>
<Ad id="924c0ecb3cf149d198fdaf7a55576a71">
<InLine>
<Creatives>
<Linear>
<MediaFiles>
<MediaFile id="Tycoon" delivery="progressive" width="426" height="240" type="video/mp4" minBitrate="49" maxBitrate="258" scalable="true" maintainAspectRatio="true">
</MediaFile>
<MediaFile id="Tycoon" delivery="streaming" width="426" height="240" type="application/x-mpegURL" minBitrate="49" maxBitrate="258" scalable="true" maintainAspectRatio="true">
<MediaFile id="Tycoon" delivery="streaming" width="426" height="240" type="application/dash+xml" minBitrate="49" maxBitrate="258" scalable="true" maintainAspectRatio="true">
</MediaFiles>
</Linear>
</Creative>
<Creative id="63fc01dc50af45988feac2208ff087ac" sequence="1">
<CompanionAds>
<Companion id="63fc01dc50af45988feac2208ff087ac" width="300" height="250">
<StaticResource creativeType="image/png">
</StaticResource>
</Companion>
</CompanionAds>
</Creative>
</Creatives>
</InLine>
</Ad>
</Vast>

IMA SDK

unread,
Aug 9, 2022, 1:58:29 PM8/9/22
to jessealexan...@gmail.com, ima...@googlegroups.com
Hi Jesse,

Thank you for providing your working VAST that plays video without audio. Since all server side setup is beyond the scope of SDK support I can only suggest you reach out to Ad Manager support for your concerns. We support the server side specifications. With that being said, here's Generate ad tags from Ad Manager support and I also heard that 'packed audio' may help.

Regards,

Google Logo
Aryeh
IMA SDK Team
 


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