Поделиться через


Анализ использования с помощью 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-тестирование

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

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

Чтобы сравнить различные версии, на портале 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>();

Следующие шаги