Application Insights – собираем телеметрию Windows Phone и Windows приложений

5a3ed0a089594effb6594ab6aabc2555.pngЯ рада сообщить вам о том, что теперь Application Insights поддерживает сбор телеметрии Windows и Windows Phone приложений. Теперь вы можете получить информацию о том, как пользователи взаимодействуют с вашим приложением, а также диагностировать проблемы, возникающие при работе приложения. Все полученные данные визуализируются на портале Azure Preview.Когда вы добавляете Application Insights в ваш проект, то информация о вашем приложении (пользователи, сессии, просмотры страниц, неполадки) начинает собираться автоматически. В дополнении, существует API, которое позволяет посылать события, метрики и исключения. Давайте посмотрим, какие возможности предоставляет Application Insights.

Добавляем Application Insights в свой проектЕсли вы еще не создали проект, то в окне New Project выберите из списка Windows или Windows Phone Apps, в правой части окна поставьте галочку напротив пункта Add Application Insights to Project.

f1dd3258414643bcadb9a31f143d14f3.png

Откроется окно, в котором вам будет необходимо ввести данные своей учетной записи с подпиской Azure. Если у вас нет подписки Azure, вы можете активировать бесплатную (триальную) или Pay As You Go (платную) версию подписки.

dbdcc9907c35443194ab1b703fe792dd.png

Если у вас уже был созданный ранее Windows или Windows Phone проект, то откройте его в Visual Studio 2013 (не ниже Update 3). Выберите Add Application Insights telemetry.

8461bb2e03c74da0b044b869207cf955.png

Если вы не вошли в учетную запись ранее, сделайте это сейчас.

Запускаем приложение Нажмите F5 для того, чтобы запустить приложение на эмуляторе или на устройстве. Application Insights автоматически соберет информацию о сессиях, пользователях, просмотрах страниц и ошибках в приложении.

Вы увидите уведомление в Visual Studio, которое оповестит вас о том, что данные успешно собраны и отправлены.

9f92b05272e04c3f90e7d586fe3e164e.png

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

Просмотр собранных данных Откройте Application Insights в вашем приложении:

cfd4eb5ca6f5461db262e0087e82190b.png

Сначала вы увидите только одну или две точки. Например:

8a237cc326c947ab83d0db81e2799fcd.png

Нажмите Refresh, если хотите увидеть больше информации.

Вы можете щелкнуть на любую диаграмму, чтобы посмотреть подробную информацию.

Отслеживание информации На странице Overview timeline, нажмите на диаграммы Users и Sessions для того, чтобы увидеть аналитику.

130d00ebc6c44832bf6af7bedca963cb.png

Обратите внимание:

Пользователи отслеживаются анонимно, поэтому один и тот же пользователь, зашедший с различных устройств будет посчитан дважды. Сессия засчитывается, когда приложение приостанавливается, при этом случайные выходы из приложения и не считаются. Сегментация Вы можете смотреть информацию исходя из различных критериев. Например, для того, чтобы посмотреть, сколько пользователей используют ту или иную версию приложения, откройте диаграмму Users и выберите сегментацию по версии приложения (Application Version):

67c4d30e49c94047a33e5140abf49393.png

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

var telemetry = new TelemetryClient (); telemetry.TrackPageView («GameReviewPage»); Результаты будут доступны в разделе Page Views (просмотры страниц).f5dd9954a5b449dd9b0356380e40c342.png

Таким образом вы можете посмотреть информацию о любой странице.

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

telemetry.TrackEvent («GameOver»); Данные появятся в сетке Custom Events (настраиваемые события). Вы можете посмотреть общую информацию о событиях или щелкнуть на конкретное событие, чтобы посмотреть подробное описание.7e59731786fb42f8aa558cc1ec1962bf.png

Вы также можете добавить строковые и числовые свойства для каждого события.

// Определение различных свойств: var properties = new Dictionary {{«Game», currentGame.Name}, {«Difficulty», currentGame.Difficulty}}; var measurements = new Dictionary {{«Score», currentGame.Score}, {«Opponents», currentGame.OpponentCount}};

// Отправка события: telemetry.TrackEvent («GameOver», properties, measurements); Кликните на любое событие, чтобы увидеть его подробное описание.7811e5fac5b14b18a19bfc850e7b4200.png

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

Обнаружение и диагностика сбоев программы Установка оповещения о сбое в программе 14bfedb916534dadb6bfd2e41573d1fb.png

Диагностика сбоев Для того, чтобы узнать, как часто происходят сбои в работе вашей программы или сравнить стабильность работы одной версии по сравнению с другой, кликните на иконку Crashes и отсортируйте по версиям приложений (Application Version):

184f0264b813442087d60549d9a2d28f.png

Для того, чтобы узнать об исключениях, которые вызывают сбои, откройте Diagnostic Search.

Обратите внимание, что вы можете выбрать, какие данные будут отображаться.

5efe8cf736214bdf85b99a22b0b04692.png

Для того, чтобы посмотреть подробную информацию об исключении, кликните по нему.

f654899975064dc1bc06c612eb036b1d.png

Просмотр телеметрии на портале Application Insights Вы можете посмотреть телеметрию не только непосредственно в Visual Studio, но также на портале Azure. Перейдите на Browse → Application Insights и выберите приложение, которое вы создали.

f150366085de4c3f82064dfc1d0f1a77.png

Вы тут же увидите собранную по вашему приложению телеметрию.

561ac0bfff3c43bfb5aebe62674fbda3.png

Итак, мы рассмотрели лишь основные возможности использования телеметрии Application Insights в Windows и Windows Phone приложениях. Если вы хотите узнать о каких-то возможностях Application Insights больше, вы можете перейти по одной из ссылок, указанных ниже.

Полезные ссылки

© Habrahabr.ru