Обновил статистику на всех сайтах на Google Analytics
По-сколько делаю ребилд всех сайтов и закрепляю для всех доменов окончательную тематику, завтра будет опубликована ссылка на навигатор по всех сайтах и проектах.
Когда то давно делал гистограмму посещаемости на основе LiveInternet, но это уже не актуально как на меня. И самая статистика LI тоже, есть же Google и куча его сервисов.
Код:
А шаги в Google Console делаем такие:
Вот создали:
Автозагрузился ключ:
Его кидаем в папку с скриптом.
Находим такую строчку:
Пишем в коде:
Не забываем поставить здесь галочку:
Чтобы писало такое:
Идем в Google Analytics. РЕСУРС -> Управление пользователями.
Добавляем:
Получаем профит
http://vova1234.com/visitors.php
Чем больше будет комментариев в блоге тем больше буду писать про то как работать с Google API и прочее, все зависит от вас.
Когда то давно делал гистограмму посещаемости на основе LiveInternet, но это уже не актуально как на меня. И самая статистика LI тоже, есть же Google и куча его сервисов.
Код:
$ga_email = ''; // email
$ga_key = getcwd().'/key.p12'; // ключ API
function getService() {
global $ga_email, $ga_key;
require_once getcwd().'/Google/autoload.php';
$config = new Google_Config();
$config->setClassConfig('Google_Cache_File', array('directory' => getcwd().'/tmp/'));
$client = new Google_Client($config);
$client->setApplicationName("HelloAnalytics");
$analytics = new Google_Service_Analytics($client);
$key = file_get_contents($ga_key);
$cred = new Google_Auth_AssertionCredentials(
$ga_email,
array(Google_Service_Analytics::ANALYTICS_READONLY),
$key
);
$client->setAssertionCredentials($cred);
if($client->getAuth()->isAccessTokenExpired()) {
$client->getAuth()->refreshTokenWithAssertion($cred);
}
return $analytics;
}
$analytics = getService();
function curl_get_file_contents($URL) {
$c = curl_init();
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_URL, $URL);
$contents = curl_exec($c);
curl_close($c);
if ($contents) return $contents;
else return FALSE;
}
function cut_str($start, $stop, $str) {
$spos = strpos($str, $start);
$spos = $spos + strlen($start);
$text = substr($str, $spos);
$end_pos = strpos($text, $stop);
$text = substr($text, 0, $end_pos);
return $text;
}
$epic = array();
$sites = array("114741265");
$sites_name = array("ABCVG");
if (isset($_POST['month'])) {
$keys = "month";
$title = "Добыча посещаемости за месяц";
$start = "30daysAgo";
$end = "yesterday";
} elseif (isset($_POST['week'])) {
$keys = "week";
$title = "Добыча посещаемости за неделю";
$start = "7daysAgo";
$end = "yesterday";
} elseif (isset($_POST['day'])) {
$keys = "day";
$title = "Добыча посещаемости за день";
$start = "yesterday";
$end = "yesterday";
} elseif (isset($_POST['online'])) {
$keys = "online";
$title = "Сейчас онлайн?";
$start = "today";
$end = "today";
} elseif (isset($_POST['today'])) {
$keys = "today";
$title = "Посетителей и просмотров за сегодня";
$start = "today";
$end = "today";
} else {
$keys = "today";
$title = "Посетителей и просмотров за сегодня";
$start = "today";
$end = "today";
}
foreach ($sites as $key => $value) {
//$FILE = curl_get_file_contents("http://counter.yadro.ru/values?site=".$value);
//$hits = cut_str('LI_'.$keys.'_hit = ', ';', $FILE);
//$vis = cut_str('LI_'.$keys.'_vis = ', ';', $FILE);
$results = $analytics->data_ga->get(
'ga:'.$value,
$start,
$end,
'ga:users,ga:hits',
array(
'start-index' => '1',
'max-results' => '1'
)
);
if (count($results->getRows()) > 0) {
foreach ($results->getRows() as $row) {
$vis = $row[0];
$hits = $row[1];
}
} else {
$vis = 0;
$hits = 0;
}
$epic[$key] = $sites_name[$key]."|".$hits."|".$vis;
}
$plusv = 0;
$plush = 0;
echo "<!DOCTYPE html>
<html>
<head>
<meta charset=\"utf-8\">
<title>Добыча посещаемости сайтов Vova1234</title>
<script src=\"https://www.google.com/jsapi\"></script>
<script>
google.load(\"visualization\", \"1\", {packages:[\"corechart\"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Год', 'V', 'H'],";
foreach ($epic as $key => $value) {
$arr = explode("|", $value);
echo "['".$arr[0]."', ".$arr[1].", ".$arr[2]."],";
$plusv += $arr[1];
$plush += $arr[2];
}
echo "]);
var options = {
title: '".$title."',
hAxis: {title: 'Сайты'},
vAxis: {title: 'Просмотры/Посетители'}
};
var chart = new google.visualization.ColumnChart(document.getElementById('graph'));
chart.draw(data, options);
}
</script>
</head>
<body>
<form method=\"post\">
<input type=\"submit\" name=\"month\" class=\"button\" value=\"за месяц\">
<input type=\"submit\" name=\"week\" class=\"button\" value=\"за неделю\">
<input type=\"submit\" name=\"day\" class=\"button\" value=\"за день\">
<input type=\"submit\" name=\"today\" class=\"button\" value=\"сегодня\">
<input type=\"submit\" name=\"online\" class=\"button\" value=\"сколько онлайн?\">
</form>
<div id=\"graph\" style=\"width: 1300px; height: 600px;\"></div>
<div>Охват аудитории: <b>".number_format($plusv)."</b> просмотров на <b>".number_format($plush)."</b> посетителей.</div>
</body>
</html>";
А шаги в Google Console делаем такие:
Вот создали:
Автозагрузился ключ:
Его кидаем в папку с скриптом.
Находим такую строчку:
testlolabcvg@abcvg-network.iam.gserviceaccount.com
Пишем в коде:
$ga_email = 'testlolabcvg@abcvg-network.iam.gserviceaccount.com'; // email
Не забываем поставить здесь галочку:
Чтобы писало такое:
Идем в Google Analytics. РЕСУРС -> Управление пользователями.
Добавляем:
Получаем профит
http://vova1234.com/visitors.php
Чем больше будет комментариев в блоге тем больше буду писать про то как работать с Google API и прочее, все зависит от вас.
0 комментариев