Навыки Алисы/Как работать с аналитикой
Анализ статистики пользователей внутри навыка
правитьАнализ статистики — это очень полезный инструмент. Он позволит вам сделать несколько вещей:
- Проанализировать поведение пользователей, посмотреть какие-то типичные сценарии, которыми ваш пользователь взаимодействует с навыком.
- Обнаружить какие-то технические ошибки или ошибки в логике работы, которые раньше не заметили.
- Мониторить ключевые показатели и улучшать их.
Сервисы для работы с аналитикой
правитьСервисы для работы со статистикой для поведения пользователя на 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" }
});
}
}
Рассмотрим анализ базовых метрик статистики, которые могут быть в навыке.
- События входа игрока в игру.
Нас интересует количество открытий вашего навыка, количество входов в игру за какие-то единицы времени.
- выбрать тип анализа (count).
- выбрать набор событий (GameEnter).
- выбрать промежуток по времени и интервал по времени, на который разбивается статистика (час, день, неделя).
Таким образом, вы можете найти какое-то распределение вашей аудитории, которое вас натолкнет на мысли о том, что нужно что-то менять, упрощать или усложнять.
Ссылки
править- Григорий Французов и Денис Пешехонов. Как работать с аналитикой? // Школа Алисы. 2018-2019