Как использовать Impression Beacons для чтения данных о вызовах на сервере (в пикселях)

Мне нужно получить какое-то понимание при отправке информации от сервера к серверу с использованием пикселей. Мы используем validclick, и они говорят, что их маяк должен быть отправлен на прозрачное изображение 1×1. Судя по всему, что я сделал, я не могу найти базовые «как» о получении данных с помощью 1×1 GIF.

Сейчас у меня есть файл .php с моим gif, а затем мой скрипт, чтобы прочитать строку запроса из URL и вставить ее в нашу базу данных.

   <?php

header('Content-Type: image/png');
echo base64_decode('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=');$conversion = $_SERVER['QUERY_STRING'];
$info = explode("&", $conversion);
$variables = array('id' => '', 'ts' => '', 'slotid' => '', 'q' => '', 'u' => '', 'ty' => '', 'nq' => '', 'nr' => '');
foreach ($info as $i) {
$temp = explode("=", $i);
$variables[$temp[0]] = $temp[1];
}

// Connect to the database
try {
// Info to connect to the database
$servername = "****";
$dbusername = "****";
$password = "****";
$dbname = "****";

// To connect to the database please
$conn = new mysqli($servername, $dbusername, $password, $dbname);
if ($conn->connect_error) {
die('Connect Error (' . $conn->connect_errno . ') ' . $conn->connect_error);
}
} catch (mysqli_sql_exception $e) {
throw $e;
}

$variables['ts'] = str_replace("%", " ", $variables['ts']);
echo $variables['ts'];
$insert = "INSERT INTO validclickimpressions (id, ts, slotid, q, u, ty, nq, nr) " .
"VALUES ('" . $variables['id'] . "', '" .
$variables['ts'] . "', '" .
$variables['slotid'] . "', '" .
$variables['q'] . "', '" .
$variables['u'] . "', '" .
$variables['ty'] . "', '" .
$variables['nq'] . "', '" .
$variables['nr'] . "')";

if(!$conn->query($insert)){
die('There was an error running the query "' . $insert . '" [' . $conn->error . ']');
}

$conn -> close;
?>

Я думаю, что мне просто не хватает некоторого фундаментального понимания того, как работают эти маяки. validclick должен отправлять информацию на этот URL с этими переменными, добавленными в конец URL. Так что это работает, когда я захожу с тестовым URL (например: http://www.mywebsite.com/beacon_url/impression_beacon.php?id=1234&TS = 2018-01-12% 14: 44: 30&slotid = 1234&д = 1234&и = 1234&ти = 1234&NQ = 1234&NR = 1234), но, кажется, не вставляет данные в нашу таблицу, когда мы получаем показы.


РЕДАКТИРОВАТЬ: Я считаю, что моя проблема в том, что мой php с моим изображением. Я думаю, что страница может содержать только изображение. Однако я не знаю, как получить данные от маяка, если я удалю их со страницы.

0

Решение

Надеюсь, этот php-код поможет любому, кто попытается настроить маяк для показа в будущем. Этот код для Inuvo.

/*
* YPA Impression BEACON END POINT
*/

// *** lowercase all param names ***
$_REQUEST = array_change_key_case($_REQUEST);

// Default impression args
$id = isset($_REQUEST['id']) ?  $_REQUEST['id'] : null; //  = coresponding impression ID
$ts = isset($_REQUEST['ts']) ?  $_REQUEST['ts'] : null; //  = unix timestamp of impression
$slotid = isset($_REQUEST['slotid']) ?  $_REQUEST['slotid'] : null; //  = location in page
$q = isset($_REQUEST['q']) ?  $_REQUEST['q'] : null; // = keyword
$u = isset($_REQUEST['u']) ?  $_REQUEST['u'] : null; // = landing page url
$ty = isset($_REQUEST['ty']) ?  $_REQUEST['ty'] : null; // = affid
$nq = isset($_REQUEST['nq']) ?  $_REQUEST['nq'] : null; // = number of ads requested for that ad unit / slot (New)
$nr = isset($_REQUEST['nr']) ?  $_REQUEST['nr'] : null; // = number of ads returned for that ad unit / slot (New)// Your custom args defined in your YPA code block
// serveBeacon:"x=1&y=2&z=3", //string of key value pairs you want to hit this end point.
$x = isset($_REQUEST['x']) ?  $_REQUEST['x'] : null;
$y = isset($_REQUEST['y']) ?  $_REQUEST['y'] : null;
$z = isset($_REQUEST['z']) ?  $_REQUEST['z'] : null;

// write to your storage/db here// Return image 1x1 gif content
header('Content-Type: image/gif');
echo base64_decode('R0lGODlhAQABAJAAAP8AAAAAACH5BAUQAAAALAAAAAABAAEAAAICBAEAOw==');
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector