company_banner

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



    Я рада сообщить вам о том, что теперь 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.



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



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



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

    Запускаем приложение



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

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



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

    Просмотр собранных данных



    Откройте Application Insights в вашем приложении:



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



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

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

    Отслеживание информации



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



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

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


    Сегментация



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



    Просмотр страниц



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

    var telemetry = new TelemetryClient();
    telemetry.TrackPageView("GameReviewPage");
    

    Результаты будут доступны в разделе Page Views (просмотры страниц).



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

    Настраиваемые события



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

    telemetry.TrackEvent("GameOver");
    

    Данные появятся в сетке Custom Events (настраиваемые события). Вы можете посмотреть общую информацию о событиях или щелкнуть на конкретное событие, чтобы посмотреть подробное описание.



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

    // Определение различных свойств:
    var properties = new Dictionary <string, string> 
       {{"Game", currentGame.Name}, {"Difficulty", currentGame.Difficulty}};
    var measurements = new Dictionary <string, double>
       {{"Score", currentGame.Score}, {"Opponents", currentGame.OpponentCount}};
    
    // Отправка события:
    telemetry.TrackEvent("GameOver", properties, measurements);
    

    Кликните на любое событие, чтобы увидеть его подробное описание.



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

    Обнаружение и диагностика сбоев программы



    Установка оповещения о сбое в программе





    Диагностика сбоев



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



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

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



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



    Просмотр телеметрии на портале Application Insights



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



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



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

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


    Microsoft
    Microsoft — мировой лидер в области ПО и ИТ-услуг

    Комментарии 5

      0
      Это только preview и сейчас к сожалению не известна стоимость этого сервиса.
        0
        Добавление Insights в приложение влияет на его разрешения? Например, я напишу фонарик, которому интернет не нужен. Будет ли для пользователей светиться запрос на разрешение доступа?
          0
          Проверил сам, судя по всему без галки на Capabilities/Internet оно вообще не работает.
            0
            Так же не стоит забывать что установка этой калки трубует наличие политики конфиденциальности.
            Пары предложений о том что персональные данные не передаются, а собирается информация для сбора статистики хватает чтобы пройти проверку при публикации.
          0
          Уже использую в недавно опубликованном Windows Phone приложении.
          Может я не нашел как это правильно сделать, но хотелось бы иметь возможность все данные фильтровать по любому полю, например, appVersion == 1.0.4.5 && Country == «Russian Federation» && CustomMetricProperty > 18

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

          Самое читаемое