Показывать количество пользователей в реальном времени на веб-сайте с помощью Google Analytics


Как я могу показать количество посетителей онлайн при любой загрузке страницы с помощью Google Analytics?

Например, когда посетитель где-то загружает страницу, на ней будет написано "58 посетителей онлайн".

Author: Trott, 2011-08-08

5 answers

Как Тротт объяснял ранее, в аналитике такой функции нет. Однако я даю вам очень-очень старую альтернативу. Я написал это в 2004 году, так что оно устарело, но в основном работает. Кроме того, он работает без использования каких-либо баз данных.. иногда вам нужны ретро-решения, подобные этому:)

Живая демонстрация: kopli.pri.ee/stackoverflow/6976362.php

( Вам нужно установить 777 chmod для вашей текущей папки, чтобы файл users.dat мог создаваться автоматически)

<?php
$current_users_file = 'users.txt';
if (!file_exists($current_users_file)) fclose(fopen($current_users_file, "w"));
$users = file($current_users_file);
$found = false;
$user_count = count($users);
$fp = fopen($current_users_file, "w");
foreach($users as $user) {
    $user = explode("|", $user);
    if ($user[1]+300 < time()) {
        $user_count--;
        continue;
    } elseif ($user[0] == $REMOTE_ADDR) {
        $user[1] = time();
        $found = true;
    }
    $user = trim(implode("|", $user))."\n";
    fputs($fp, $user);
}
if (!$found) {
    fputs($fp, $REMOTE_ADDR."|".time()."\n");
    $user_count++;
}
fclose($fp);
echo 'Active users <b>' . $user_count . '</b>';
?>
 3
Author: Kalle H. Väravas, 2011-08-07 23:18:46

Это невозможно сделать в аналитике; однако вы можете сделать это самостоятельно, используя функцию обратной связи в JavaScript, где каждые N секунд вы отправляете запрос "сердцебиение" на свой сервер, используя XHR, и включаете какой-то уникальный идентификатор. Когда некоторое время (более N секунд) проходит без сердцебиения от данного идентификатора, вы можете предположить, что пользователь больше не активен на этом сайте. Более того, вы можете объединить это с API видимости, чтобы показывать только набор пользователей, которые активный просмотр страницы (в отличие от пользователей, у которых страница открыта, но на вкладке в фоновом режиме).

 4
Author: Michael Aaron Safyan, 2011-08-07 23:06:31

Ты не можешь. Google Analytics не предоставляет обновленных данных. Вам придется найти альтернативный метод.

(Поскольку вы отметили вопрос PHP: Быстрым и грязным способом может быть использование сеансов PHP и использование временного ограничения, например, если сеанс не активен в течение 5 минут, то они не считаются "онлайн". Вам нужно будет убедиться, что вы обновляете сеанс при каждой загрузке страницы. Я полагаю, вам придется прочитать каталог, содержащий файлы сеанса, и проверить временные метки файлов. Это, вероятно, ужасный способ сделать это, если ваш сайт нуждается в масштабировании, но, вероятно, подойдет для первоначального быстрого и грязного макета, подтверждающего концепцию, если это все, что вы делаете.)

 2
Author: Trott, 2011-08-07 23:09:19

Я вижу, что Google выпустил это в бета-версии с ограниченным доступом;

API отчетов в реальном времени позволяет запрашивать данные в реальном времени для аутентифицированного пользователя. Это позволяет вам сообщать о действиях, происходящих на вашей собственности прямо сейчас. Вы можете использовать API отчетов в реальном времени для запроса измерений и показателей, чтобы создавать веб-виджеты и панели мониторинга, ориентированные на клиентов.

Https://developers.google.com/analytics/devguides/reporting/realtime/v3/

 0
Author: Nicekiwi, 2014-02-18 12:29:30

Войдите в Google и перейдите в Учетную запись службы

1) Выберите проект или создайте проект

2) Создать учетную запись службы

3) Выберите предоставить новый закрытый ключ.

4) Нажмите кнопку Создать.

Подробная информация

 0
Author: user8793633, 2017-10-18 04:38:08