Перейти к содержанию

Навыки Алисы/Как работать с аналитикой

Материал из Викиверситета

Анализ статистики пользователей внутри навыка[править]

Анализ статистики — это очень полезный инструмент. Он позволит вам сделать несколько вещей:

  1. Проанализировать поведение пользователей, посмотреть какие-то типичные сценарии, которыми ваш пользователь взаимодействует с навыком.
  2. Обнаружить какие-то технические ошибки или ошибки в логике работы, которые раньше не заметили.
  3. Мониторить ключевые показатели и улучшать их.

Сервисы для работы с аналитикой[править]

Сервисы для работы со статистикой для поведения пользователя на HTML-страницах:

Cервисы, которые ориентированы на события, происходящие внутри навыка:

Подключение библиотеки Kineo к нашему проекту[править]

public static class KeenIO
{
    public static KeenClient Client; // Объявление статического клиента Keen

    // Метод настройки клиента Keen
    public static void Setup()
    {
        // Считываем настройки проекта из конфигурации приложения
        var projectId = ConfigurationManager.AppSettings["KeenProjectId"];
        var writeKey = ConfigurationManager.AppSettings["KeenWriteKey"];
        var readKey = ConfigurationManager.AppSettings["KeenReadKey"];

        // Инициализация клиента Keen с использованием считанных настроек
        Client = new KeenClient(
            projectId: projectId,
            writeKey: writeKey,
            readKey: readKey
        );
    }

    // Метод отправки события в Keen
    public static void SendEvent(string eventName, AliceRequest request, Dictionary<string, object> parameters)
    {
        try
        {
            // Добавляем UserId и DeviceId в параметры события
            parameters["UserId"] = request.Session.User.UserId;
            parameters["DeviceId"] = request.Meta.DeviceId;

            // Отправляем событие в Keen
            Client.AddEvent(eventName, parameters);
        }
        catch (Exception ex)
        {
            // Обрабатываем исключение и выводим сообщение об ошибке
            Console.WriteLine("Клиент Keen, вероятно, недоступен: " + ex.Message);
        }
    }
}

Как мы передаем данные о том, новый это пользователь или нет, и есть ли экран на его устройстве[править]

public void RespondToCommand(AliceResponse response, AliceRequest request, Session session)
{
    // Проверяем, что введенная команда пуста
    if (request.Request.OriginalUtterance == "")
    {
        // Отправляем событие "GameEnter" в KeenIO с параметрами
        KeenIO.SendEvent("GameEnter", request, new Dictionary<string, object>
        {
            // Определяем тип интерфейса, который использует пользователь (экран или аудио)
            {"Interface", request.Meta.Interfaces?.Screen != null ? "Screen" : "Audio" },
            
            // Проверяем, является ли пользователь новым или старым
            {"NewUser", session.GetNew() ? "New" : "Old" }
        });
    }
}

Работа с аналитикой в [Keen][править]

Рассмотрим анализ базовых метрик статистики, которые могут быть в навыке.

  • События входа игрока в игру.

Нас интересует количество открытий вашего навыка, количество входов в игру за какие-то единицы времени.

  1. выбрать тип анализа (count).
  2. выбрать набор событий (GameEnter).
  3. выбрать промежуток по времени и интервал по времени, на который разбивается статистика (час, день, неделя).
График того, сколько раз пользователи открывали навык за последние 30 дней.
График пользователей, которые уже не первый раз запустили навык и пользователей которые только что запустили навык и раньше его никогда не запускали
График, есть ли у пользователя экран на устройстве или нет экрана

Таким образом, вы можете найти какое-то распределение вашей аудитории, которое вас натолкнет на мысли о том, что нужно что-то менять, упрощать или усложнять.

Ссылки[править]