Подтвердить что ты не робот

Может ли Google Analytics отправлять мне электронное письмо, если произошли (аварийные) и исключения?

Google Analytics правильно сообщает об исключениях, внесенных моим Android-приложением. И я могу использовать запланированные электронные письма, чтобы отправить этот отчет мне. Тем не менее, получая ежедневный адрес электронной почты, когда нет ничего, что можно было бы сообщить (то есть, отчет сообщает мне, что произошли нулевые исключения) является утомительным. Таким образом, я хотел бы получать электронные письма только тогда, когда есть что сообщить (т.е. Отчет сообщает мне, что произошло одно или несколько исключений). Кажется, что для этой цели можно использовать пользовательские оповещения. Однако пользовательские оповещения не совместимы с Exceptions. Это приводит меня к моему вопросу.

Можно настроить настраиваемые оповещения для уведомления по электронной почте об исключениях?

Или, в более общем плане,

Можно ли настроить Google Analytics для уведомления по электронной почте об исключениях?

Кроме того, это тоже работает для сбоев?

ОБНОВЛЕНИЕ (22 ноября 2015 года, 1 декабря 2015 года)

(Частичный) ответ. Я предоставляю ответ, который позволяет настроить сервер (не Google Analytics) на предоставление уведомлений по электронной почте об исключениях, что, вероятно, является достаточным решением для многих.

(Почти) ответ. jakub-kriz предоставил подробный ответ , но он не работает как есть. Основываясь на ответе, я смог настроить Google Analytics на электронную почту, когда не происходит никаких исключений. Это полная противоположность тому, что требуется. К сожалению, я не смог получить электронную почту, если произошло одно или несколько исключений.

Альтернативное направление. jakub-kriz предложил альтернативное решение , в котором используются обычные события, а не события исключения. Я не пробовал это направление.

Полное решение еще не было предложено.

4b9b3361

Ответ 1

Сервер (не Google Analytics) может быть настроен для предоставления уведомлений по электронной почте об исключениях,, что, вероятно, является достаточным решением для многих.

Сначала вам нужна учетная запись службы, которая может быть создана https://console.developers.google.com/project/_/apiui/credential. Вы создадите файл ключа (MyAnalytics.p12).

Во-вторых, мы настраиваем клиента-аналитика (MyAnalytics.php):

<?php
//You'll need to install google-api-php-client 
//(https://github.com/google/google-api-php-client)
require_once 'Google/autoload.php';

class MyAnalytics
{
    //When logged into Google Analytics you'll have a URL that looks
    //something like https://www.google.com/analytics/web/?authuser=0#home/a00w11p22/
    //Your profile id is everything after the p
    const PROFILE_ID = '22';

    //This is the service account email that you constructed in step 1
    const SERVICE_ACCOUNT_EMAIL = '[email protected]';

    //This is the file that you constructed in step 1.
    const KEY_FILE_LOCATION = 'MyAnalytics.p12';

    private $client;
    private $analytics;
    private $cred;

    public function __construct() {
        $this->client = new Google_Client();
        $this->analytics = new Google_Service_Analytics($this->client);
        $key = file_get_contents(self::KEY_FILE_LOCATION);

        $this->cred = new Google_Auth_AssertionCredentials(
          self::SERVICE_ACCOUNT_EMAIL,
          array(Google_Service_Analytics::ANALYTICS_READONLY),
          $key
        );
    }

    public function getAnalytics() {
        $this->client->setAssertionCredentials($this->cred);

        if($this->client->getAuth()->isAccessTokenExpired()) {
           $this->client->getAuth()->refreshTokenWithAssertion($this->cred);
        }

        return $this->analytics;
    }
}

?>

В-третьих, мы запрашиваем и сообщаем об исключениях (exceptions.php):

<?php
    require_once 'MyAnalytics.php';

    $myAnalytics = new MyAnalytics();
    $analytics = $myAnalytics->getAnalytics();

    $results = $analytics->data_ga->get(
         'ga:' . MyAnalytics::PROFILE_ID,
         'yesterday',
         'today',
         'ga:exceptions'
    );

    $a = $results->getTotalsForAllResults();
    $count = $a['ga:exceptions'];

    echo $count;

    if (is_numeric($count) && $count > 0) {
        //handle the exception, e.g., send an email
        //(cf. https://stackoverflow.com/a/5335311/3664487)
    }       
?>

В-четвертых, настройте cron для запуска exceptions.php (cf. fooobar.com/questions/278965/...).

Ответ 2

Возможно, но не в прямом смысле, вам нужно подключить аналитику довольно грязно.

1) Конфигурация в Google Analytics Admin

Создайте два фильтра в Admin → View → Filters → Custom → Advanced

Создайте фильтр, который прослушивает исключение hitType и задает категорию событий - исключение

Фильтровать hitType к категории событий

Создайте фильтр, который реплицирует описание исключения в действие события

введите описание изображения здесь

2) Создать пользовательскую цель

Создайте два фильтра в Admin → View → Goals → Custom → Event

Категория события равна Исключение

Категория событий равна Исключению

3) Создать пользовательское оповещение

Пользовательское предупреждение по исключению исключения цели

Пользовательское предупреждение по исключению контура цели

Не забывайте, что ваш адрес электронной почты

введите описание изображения здесь

Попробуйте это и дайте мне знать!

Ответ 3

Чтобы получить отчет по идентификатору Mail, невозможно отправить его прямо из Google Analytics. Мы можем отправить этот отчет об ошибке, обрабатывающий его, и отправить его программно на почтовый ящик из нашего приложения.