1. Go to this page and download the library: Download cafelatte/php-vast library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
cafelatte / php-vast example snippets
// create document
$factory = new \Sokil\Vast\Factory();
$document = $factory->create('4.1');
// insert Ad section
$ad1 = $document
->createInLineAdSection()
->setId('ad1')
->setAdSystem('Ad Server Name')
->setAdTitle('Ad Title')
->addImpression('http://ad.server.com/impression', 'imp1');
// create creative for ad section
$linearCreative = $ad1
->createLinearCreative()
->setDuration(128)
->setId('013d876d-14fc-49a2-aefd-744fce68365b')
->setAdId('pre')
->setVideoClicksClickThrough('http://entertainmentserver.com/landing')
->addVideoClicksClickTracking('http://ad.server.com/videoclicks/clicktracking')
->addVideoClicksCustomClick('http://ad.server.com/videoclicks/customclick')
->addTrackingEvent('start', 'http://ad.server.com/trackingevent/start')
->addTrackingEvent('pause', 'http://ad.server.com/trackingevent/stop');
// add closed caption file (Closed Caption support starts on VAST 4.1)
$linearCreative
->createClosedCaptionFile()
->setLanguage('en-US')
->setType('text/srt')
->setUrl('http://server.com/cc.srt');
// add 100x100 media file
$linearCreative
->createMediaFile()
->setProgressiveDelivery()
->setType('video/mp4')
->setHeight(100)
->setWidth(100)
->setBitrate(2500)
->setUrl('http://server.com/media1.mp4');
// add 200x200 media file
$linearCreative
->createMediaFile()
->setProgressiveDelivery()
->setType('video/mp4')
->setHeight(200)
->setWidth(200)
->setBitrate(2500)
->setUrl('http://server.com/media2.mp4');
// get dom document
$domDocument = $document->toDomDocument();
// get XML string
echo $document;
namespace Acme\Vast\ElementBuilder\Element;
use Sokil\Vast\Creative\InLine\Linear\MediaFile;
class AcmeMediaFile extends MediaFile
{
public function setMinDuration($seconds)
{
$seconds = (int)$seconds;
if ($seconds <= 0) {
thow new \InvalidArgumentException('Invalid min duration specified, must be positive int')
}
$this->domElement->setAttribute('minDuration', $seconds);
return $this;
}
}
namespace Acme\Vast\ElementBuilder;
use Sokil\Vast\ElementBuilder;
use Acme\Vast\ElementBuilder\Element\AcmeMediaFile;
class AcmeElementBuilder extends ElementBuilder
{
/**
* <Ad><InLine><Creatives><Creative><Linear><MediaFile>
*
* @param \DOMElement $mediaFileDomElement
*
* @return AcmeMediaFile
*/
public function createInLineAdLinearCreativeMediaFile(\DOMElement $mediaFileDomElement)
{
return new AcmeMediaFile($mediaFileDomElement);
}
}
use Acme\Vast\ElementBuilder\AcmeElementBuilder;
use Sokil\Vast\Factory;
$elementBuilder = new AcmeElementBuilder();
$factory = new Factory($elementBuilder);
$document = $factory->create('4.1');
$ad = $document->createInLineAdSection();
$creative = $ad->createLinearCreative();
$mediaFile = $creative->createMediaFile();
$mediaFile->setMinDiration(10);
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.