2

I am trying to write a VAST XML file that can launch at the same time (approximately) 2 things :

  • 1 Advertising Video
  • 1 VPAID JavaScript file

I tried a lot of configurations but unsuccessfully. Here are 3 examples I am currently trying to get working :

<!-- 1 Creative (adparameter Ad Video + mediafile VPAID JS) -->
<VAST version="3.0">
    <Ad id="2016.03.16">
        <InLine>
            <AdSystem>TestVpaid</AdSystem>
            <AdTitle>2016.03.16</AdTitle>
            <Error>
                about:blank
            </Error>
            <Impression>
                about:blank
            </Impression>
            <Creatives>
                <Creative sequence="1">
                    <Linear>
                        <Duration>00:00:30</Duration>
                        <AdParameters>
                            <![CDATA[
                            {"videos":[{"url":"http://cdn.liverail.com/adasset4/1331/229/7969/lo.mp4","mimetype":"video/mp4"}]}
                            ]]>
                        </AdParameters>
                        <MediaFiles>
                            <MediaFile type="application/javascript" apiFramework="VPAID">
                            https://domain_name/test_vpaid.js
                            </MediaFile>
                        </MediaFiles>
                    </Linear>
                </Creative>
            </Creatives>
        </InLine>
    </Ad>
</VAST>

<!-- 1 Creative (staticresource Ad Video + mediafile VPAID JS) -->
<VAST version="3.0">
    <Ad id="2016.03.16">
        <InLine>
            <AdSystem>TestVpaid</AdSystem>
            <AdTitle>2016.03.16</AdTitle>
            <Error>
                about:blank
            </Error>
            <Impression>
                about:blank
            </Impression>
            <Creatives>
                <Creative sequence="1">
                    <Linear>
                        <Duration>00:00:30</Duration>
                        <StaticResource>
                            <![CDATA[
                            {"videos":[{"url":"http://cdn.liverail.com/adasset4/1331/229/7969/lo.mp4","mimetype":"video/mp4"}]}
                            ]]>
                        </StaticResource>
                        <MediaFiles>
                            <MediaFile type="application/javascript" apiFramework="VPAID">
                            https://domain_name/test_vpaid.js
                            </MediaFile>
                        </MediaFiles>
                    </Linear>
                </Creative>
            </Creatives>
        </InLine>
    </Ad>
</VAST>

<!-- 2 Creative (mediafile Ad Video + companionads mediafile VPAID JS) -->
<VAST version="2.0">
    <Ad id="2016.03.16">
        <InLine>
            <AdSystem>TestVpaid</AdSystem>
            <AdTitle>2016.03.16</AdTitle>
            <Error>
                about:blank
            </Error>
            <Impression>
                about:blank
            </Impression>
            <Creatives>
                <Creative sequence="1" >
                    <Linear>
                        <Duration>00:00:30</Duration>
                        <MediaFiles>
                            <MediaFile delivery="progressive" bitrate="400" width="320" height="180" type="video/mp4">
                                http://cdn.liverail.com/adasset4/1331/229/7969/hi.mp4
                            </MediaFile>
                        </MediaFiles>
                    </Linear>
                </Creative>
                <Creative sequence="1" >
                    <CompanionAds>
                        <Companion>
                            <Duration>00:00:30</Duration>
                            <MediaFiles>
                                <MediaFile type="application/javascript" apiFramework="VPAID">
                                    https://domain_name/test_vpaid.js
                                </MediaFile>
                            </MediaFiles>
                        </Companion>
                    </CompanionAds>
                </Creative>
            </Creatives>
        </InLine>
    </Ad>
</VAST>

For my tests I use the google dev page : https://developers.google.com/interactive-media-ads/docs/sdks/html5/vastinspector (thanks to them for putting it online)

Do you know how I could do what I want ?

Thanks in advance, and have a great day

Geof.R
  • 21
  • 1
  • 4

3 Answers3

1

Depends on what type of interaction the VPAID should offer. If its functionality is limited to the duration of the video, you can create a linear VPAID that plays the video itself. The video is passed to the VPAID creative in its 'AdParameters' tag.

Check this example on ryanthompson591s github. Load the first sample ('Video') and check its VAST XML.

nachtwezen
  • 123
  • 9
  • sorry, having a closer look, the first attempt seems like a correct setup... why do you think that one doesnt work? – nachtwezen Mar 23 '16 at 14:36
1

I'm sure you don't want to launch 2 Ads at the same time in one player. This doesn't make sense and isn't possible at all. But I guess your question is about to launch a VPAID and pass the video URL as AdParameter.

I would like to recommend you not to do so. You can't be 100% sure about the players implementation. If the player (or VPAID plugin) isn't well implemented it's possible that the AdParameter will not be passed correct or not at all. If you have a look into the specs, AdParameter is not a required field, which leads to misunderstandings sometimes.

On the other hand, there is a single benefit to do so. For some specific anti-ad-blocker it would be easier to swap original URLs within the VAST with anti-ad-block (subdomain) URLs. If this is your attempt, AdParameter is appropriate.

If not, let your VPAID-js make the decision where to get the video source from.

Final note:
It is necessary to follow the specs 1000% - meaning especially each event must be fired like prescribed and each getters and setters must be well implemented. If you don't do so, you will run in nasty troubles with your potential customers.

Hope this helps & have a nice day.

zyexal
  • 1,570
  • 16
  • 23
0

Thanks for your answer, but I found the real problem I was having, I just didn't know I needed to fill the 'videoSlot' required property in the vpaid script.

Geof.R
  • 21
  • 1
  • 4