Анализ использования с помощью Application Insights

Какие функции веб-приложения или мобильного приложения наиболее популярны? Достигают ли пользователи своих целей с помощью вашего приложения? Уходят ли они в определенные моменты и возвращаются ли после этого? С помощью службы Application Insights можно получать подробные аналитические сведения о том, как пользователи работают с вашим приложением. Каждый раз, обновив приложение, можно оценить, насколько хорошо оно подходит пользователям. Обладая такими сведениями, можно принимать решения на основе данных по дальнейшим циклам разработки.

Отправка телеметрии из приложения

Максимальное удобство работы достигается путем установки Application Insights как в серверном коде приложения, так и на веб-страницах. Клиентские и серверные компоненты приложения отправляют данные телеметрии на портал Azure для анализа.

  1. Серверный код. Установите соответствующий модуль для своего приложения ASP.NET, Azure, Java, Node.js или приложения иного типа.

  2. Код веб-страницы: Используйте пакет SDK для JavaScript для сбора данных с веб-страниц. См. статью Начало работы с пакетом SDK для JavaScript.

    Примечание

    Поддержка приема ключей инструментирования будет завершена 31 марта 31, 2025 г. Функция продолжит работать, но не будет обновляться или поддерживаться. Перейдите на строки подключения, чтобы использовать новые возможности.

    Чтобы узнать о более сложных настройках для мониторинга веб-сайтов, ознакомьтесь со статьей о работе с пакетом SDK для JavaScript.

  3. Код мобильного приложения. Используйте пакет SDK для Центра приложений, чтобы собрать события из приложения. Затем отправьте копии этих событий в Application Insights для анализа с помощью инструкций в этом руководстве.

  4. Данные телеметрии. Запустите проект в режиме отладки на несколько минут. Затем просмотрите результаты на панели Обзор в Application Insights.

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

Изучение демографических данных об использовании и статистики

Узнайте, когда пользователи используют приложение и какие страницы им наиболее интересны. Также можно определить, где находятся пользователи и какие браузеры и операционные системы они используют.

Отчеты Пользователи и Сеансы фильтруют данные по страницам и пользовательским событиям. В отчетах данные разделяются по свойствам, таким как расположение, среда и страница. Можно также добавить собственные фильтры.

Снимок экрана: вкладка

Аналитические сведения справа позволяют выделять важные закономерности в наборе данных.

  • В отчете Пользователи подсчитывается количество уникальных пользователей, которые обращаются к страницам в выбранные периоды времени. (Пользователи веб-приложений подсчитываются с помощью файлов cookie. Если кто-то обращается к вашему сайту с помощью разных браузеров или клиентских компьютеров или удаляет файлы cookie, они учитываются несколько раз.
  • В отчете Сеансы отображается количество сеансов пользователей, которые обращаются к сайту. Сеанс представляет собой период активности, инициированный пользователем, и завершается периодом бездействия, превышающим полчаса.

Дополнительные сведения о средствах "Пользователи", "Сеансы" и "События" см. в статье Анализ пользователей, сеансов и событий в Application Insights.

Период удержания — сколько пользователей вернулось?

Период удержания помогает понять, как часто пользователи возвращаются к использованию своего приложения. Для этого используются когорты пользователей, которые выполнили какое-либо коммерческое действие во время определенного горизонта планирования. Вы можете:

  • Понять, какие именно возможности заставляют пользователей возвращаться чаще, чем другие.
  • Сформировать гипотезу на основе данных реальных пользователей.
  • Определить, является ли период удержания проблемой для вашего продукта.

Снимок экрана: книга периода удержания, в которой отображаются сведения о частоте возврата пользователей в приложение.

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

Дополнительные сведения о книге периода удержания см. в статье Анализ периода удержания пользователей для веб-приложений с помощью Application Insights.

Пользовательские бизнес-события

Чтобы понять взаимодействие пользователей в приложении, вставьте строки кода в журнал пользовательских событий. Эти события отслеживают различные действия пользователя, такие как выбор кнопок, или важные бизнес-события, такие как покупки или победы в играх.

Для сбора пользовательских событий также можно использовать подключаемый модуль автоколлекция Click Analytics .

В некоторых случаях просмотры страниц могут представлять собой полезные события, но обычно это не так. Пользователь может открыть страницу продукта, не приобретая его.

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

События могут регистрироваться на клиентской стороне приложения:

      appInsights.trackEvent({name: "incrementCount"});

Они также могут регистрироваться со стороны сервера:

    var tc = new Microsoft.ApplicationInsights.TelemetryClient();
    tc.TrackEvent("CreatedAccount", new Dictionary<string,string> {"AccountType":account.Type}, null);
    ...
    tc.TrackEvent("AddedItemToCart", new Dictionary<string,string> {"Item":item.Name}, null);
    ...
    tc.TrackEvent("CompletedPurchase");

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

Узнайте больше о пользовательских событиях и свойствах.

Анализ событий

В инструментах "Пользователи", "Сеансы" и "События" можно анализировать пользовательские события по пользователю, имени события и свойствам.

Снимок экрана: вкладка

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

Снимок экрана: область сеанса Application Insights в портал Azure. Выделен значок Открыть последний выполняемый запрос.

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

Ниже приведен пример базового запроса о просмотрах страниц. Вставьте его непосредственно в редактор запросов, чтобы протестировать его.

// average pageView duration by name
let timeGrain=5m;
let dataset=pageViews
// additional filters can be applied here
| where timestamp > ago(1d)
| where client_Type == "Browser" ;
// calculate average pageView duration for all pageViews
dataset
| summarize avg(duration) by bin(timestamp, timeGrain)
| extend pageView='Overall'
// render result in a chart
| render timechart

Разработка телеметрии приложения

При разработке каждой возможности приложения обдумайте, как вы будете измерять ее популярность среди пользователей. Решите, какие бизнес-события необходимо записывать, и с самого начала запрограммируйте вызовы отслеживания для этих событий в приложении.

A/B-тестирование

Если вы не уверены, какой вариант компонента является более успешным, выпустите оба варианта и разрешите разным пользователям доступ к каждому варианту. Измерьте успешность каждого варианта, а затем перейдите на единую версию.

В этом методе вы присоединяете уникальные значения свойств ко всем данным телеметрии, отправляемым каждой версией приложения. Это можно сделать, определив свойства в активном telemetryContext. Эти свойства по умолчанию включаются в каждое сообщение телеметрии, отправленное приложением. Он включает как пользовательские сообщения, так и стандартные данные телеметрии.

Чтобы сравнить различные версии, на портале Application Insights можно отфильтровать и разделить данные по значениям свойств.

Для этого настройте инициализатор телеметрии:

    // Telemetry initializer class
    public class MyTelemetryInitializer : ITelemetryInitializer
    {
        // In this example, to differentiate versions, we use the value specified in the AssemblyInfo.cs
        // for ASP.NET apps, or in your project file (.csproj) for the ASP.NET Core apps. Make sure that
        // you set a different assembly version when you deploy your application for A/B testing.
        static readonly string _version = 
            System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
            
        public void Initialize(ITelemetry item)
        {
            item.Context.Component.Version = _version;
        }
    }

Для ASP.NET Core приложений добавьте новый инициализатор телеметрии в коллекцию службы внедрения зависимостей в Program.cs классе .

using Microsoft.ApplicationInsights.Extensibility;

builder.Services.AddSingleton<ITelemetryInitializer, MyTelemetryInitializer>();

Дальнейшие действия