как повернуть творческие блоки на xml для VAST - PullRequest
0 голосов
/ 04 мая 2020

У меня есть vast player, который принимает только один файл, например: https://www.example.com/vast-vid1.xml

Но я хотел бы повернуть несколько объявлений на нем, добавив несколько новых блоков <Creative> для каждого ad.

Изначально я безуспешно пытался использовать php внутри файла xml следующим образом:

<?php
$block[1] = array('block' => 'https://www.example.com/vast-vid1.xml', 'percent' => 50);
$block[2] = array('block' => 'http://www.example.com/vast-vid2.xml', 'percent' => 50);

$percent_arr = array();
foreach($block as $k => $_l) {
    $percent_arr = array_merge($percent_arr, array_fill(0, $_l['percent'], $k));
}
$random_key = $percent_arr[mt_rand(0,count($percent_arr)-1)];
$theblock = $block[$random_key]['block'];
/// eof rotate block's 
 echo $theblock ;?>

Но я также открыт для новых идей о том, как заставить это работать.

Вот мой .xml файл :

<?xml version='1.0' encoding='UTF-8'?>
<VAST version="3.0">
    <Ad id="001">
        <InLine>
            <AdSystem> AD Name </AdSystem>
            <Error><![CDATA[/out/link]]></Error>
            <AdTitle> Campaign ID 12345</AdTitle>
            <Impression><![CDATA[https://www.example.com]]></Impression>
            <Creatives>
                <Creative>
                    <Linear>
                        <Duration> 00:02:29 </Duration>
                        <VideoClicks>
                            <ClickThrough><![CDATA[/out/link]]></ClickThrough>
                            <ClickTracking><![CDATA[/out/link]]></ClickTracking>
                        </VideoClicks>
                        <MediaFiles>
                            <MediaFile id="001" delivery="progressive" type="video/mp4" width="854" height="480"><![CDATA[http://www.html5videoplayer.net/videos/toystory.mp4]]></MediaFile>
                        </MediaFiles>
                    </Linear>
                </Creative>
            </Creatives>
        </InLine>
    </Ad>
</VAST>

Это другой <creative> пример блока, который я хотел бы добавить при вращении :

<Creative>
                        <Linear>
                            <Duration> 00:02:30 </Duration>
                            <VideoClicks>
                                <ClickThrough><![CDATA[/out/link]]></ClickThrough>
                                <ClickTracking><![CDATA[/out/link]]></ClickTracking>
                            </VideoClicks>
                            <MediaFiles>
                                <MediaFile id="001" delivery="progressive" type="video/mp4" width="854" height="480"><![CDATA[http://www.html5videoplayer.net/videos/madagascar3.mp4]]></MediaFile>
                            </MediaFiles>
                        </Linear>
                    </Creative>
...