PHP sample script¶
Analytics and message script¶
Here is a script sample for server to server API usage :
<?php
/*
CONNECT TO YOUR IN-MEMORY DATA STRUCTURE STORE LIKE REDIS
*/
$cache = new Redis();
$cache->connect('host');
/*
GET DATA FROM EITHER IN YOUR IN-MEMORY DATA STRUCTURE STORE OR THE API
*/
if ($cache->has('scriptElement')) {
$scriptElement = $cache->hGetAll('scriptElement');
} else {
$scriptElement = json_decode(file_get_contents('https://adback.co/api/script/me?
access_token=token'), true);
foreach ($scriptElement as $key => $value) {
$cache->hSet('scriptElement', $key, $value);
}
$cache->expire('scriptElement', 60*60*24);
}
/*
CREATE THE ANALYTICS SCRIPT
*/
$analyticsDomain = $scriptElement['analytics_domain'];
$analyticsScript = $scriptElement['analytics_script'];
$analyticsScript = <<<EOS
(function (a,d){var s,t;s=d.createElement('script');
s.src=a;s.async=1;
t=d.getElementsByTagName('script')[0];
t.parentNode.insertBefore(s,t);
})("https://$analyticsDomain/$analyticsScript.js", document);
EOS;
/*
CREATE THE MESSAGE SCRIPT
*/
$messageScript = '';
if (isset($scriptElement['message_domain']) {
$messageDomain = $scriptElement['message_domain'];
$messageScript = $scriptElement['message_script'];
$customMessageScript = <<<EOS
(function (a,d){var s,t;s=d.createElement(‘script’);
s.src=a;s.async=1;
t=d.getElementsByTagName('script')[0];
t.parentNode.insertBefore(s,t);
})("https://$messageDomain/$messageScript.js", document);
EOS;
}
/*
DISPLAY BOTH SCRIPTS
*/
echo "<script>$analyticsScript</script><script>$messageScript</script>";
Autopromo banner script¶
Here is a sample code used to add an autopromo banner on your website.
Note that the script should be located in the div destination.
<?php
/*
CONNECT TO YOUR IN-MEMORY DATA STRUCTURE STORE LIKE REDIS
*/
$cache = new Redis();
$cache->connect('host');
/*
GET DATA FROM EITHER IN YOUR IN-MEMORY DATA STRUCTURE STORE OR THE API
*/
if ($cache->has('scriptElement')) {
$scriptElement = $cache->hGetAll('scriptElement');
} else {
$scriptElement = json_decode(file_get_contents('https://adback.co/api/script/me?
access_token=token'), true);
foreach ($scriptElement as $key => $value) {
$cache->hSet('scriptElement', $key, $value);
}
$cache->expire('scriptElement', 60*60*24);
}
/*
CREATE THE BANNER SCRIPT
*/
$autopromoBannerDomain = $scriptElement['autopromo_banner_domain'];
$autopromoBannerScript = $scriptElement['autopromo_banner_script'];
$autopromoBannerCode = <<<EOS
(function (a,d){var s,t,cs,ds,dd;s=d.createElement('script');cs=d.currentScript;
ds=d.createElement('span');ds.id=Math.random().toString(36).substring(7);
dd=cs.parentNode.insertBefore(ds,cs);
s.src=a;s.async=1;s.setAttribute('data-name',ds.id);s.setAttribute('data-id','base64encodedBannerId');
t=d.getElementsByTagName('script')[0];t.parentNode.insertBefore(s,t);})
})("https://$autopromoBannerDomain/$autopromoBannerScript.js", document);
EOS;
/*
DISPLAY SCRIPT
*/
echo "<script>$autopromoBannerCode</script>";
In this sample script base64encodedBanneId represents the banner id encoded in base64, you will be able to find it in the AdBack dashboard.