Знакомьтесь, сервис HockeyApp – ваш помощник для анализа работы мобильных приложений
Hockey App, не так давно вошедший в состав официальных сервисов компании Microsoft, уже давно известен среди разработчиков, как инструмент для получения своевременной информации о поведении мобильных и desktop-приложений на этапе их бета-тестирования и в режиме распространения приложения в магазине.
В будущем инструментарий HockeyApp будет интегрирован в новый SDK облачного сервиса Application Insights, который на данный момент ориентирован на сбор данных об операциях, производительности и использовании приложений на различных устройствах.
Это отражает планы компании по расширению функционала Visual Studio и сервиса Application Insights для разработчиков iOS и Android.
На данный момент HockeyApp продолжает свою работу, как самостоятельный сервис. И в этой статье мы рассмотрим пример использования его механизмов для приложения Windows Phone 8.1.Используя функционал HockeyApp, разработчик получает огромное количество инструментов для мониторинга процесса тестирования приложения, а так же для анализа этих данных.
Детализированные crash-отчеты, включающие в себя название класса, метода, номера строки и исключения, повлекшего за собой аварийное завершение работы приложения. Разработчику предоставляются проанализированные и сформированные данные о количестве потраченного времени каждым из тестеров, типе устройства, а так же фидбэки пользователей по итогам тестирования.
Универсальный сценарий использования HockeyApp для любого приложения состоит из трех шагов:
Регистрация на сайте HockeyApp; Подключение SDK системы к проекту и добавление инициализирующих строк в код приложения; Загрузка приложения на платформу, или указание ссылки на размещение сборки, и рассылка приглашений пользователям в группу на HockeyApp для тестирования. Когда приложение завершает работу не по стандартному сценарию, HockeyApp фиксирует моменты «вылета» и сохраняет всю необходимую информацию.
При следующем запуске приложение начнет взаимодействовать с пользователем при помощи системного диалога, в котором поинтересуется — хочет ли пользователь отправить отчет о предыдущем аварийном завершении работы приложения или нет.
Так же для разработчиков существует возможность настроить получение автоматических crash-отчетов без уведомления пользователя.
Использование HockeyAppПосле регистрации аккаунта разработчика в HockeyApp, добавим необходимое приложение в систему, укажем детали и запомним его App ID в системе:
Обратите внимание, что в поле Namespace требуется указать реальное название пространства имен из приложения.
Версия в описании приложения должна совпадать в версией в манифесте проекта:
После установки параметра «External Build» в значение «Enabled», мы получаем возможность указать ссылку на сборку приложения:
Интегрируем HockeySDK в проект приложения:
Nuget PM> Install-Package HockeySDK.WinRT В файл App.xaml.cs подключим библиотеку: using HockeyApp; А в конструктор приложения добавим, следующую строку с указанием App ID: HockeyClient.Current.Configure («App_ID»); Отправляем отчеты о «вылетах» приложения на сервер HockeyApp В файле App.xaml.cs, отыщем метод OnLaunched и добавим в него строку: await HockeyClient.Current.SendCrashesAsync (); Для отправления отчетов автоматически без получения подтверждения от пользователя задайте параметр true: await HockeyClient.Current.SendCrashesAsync (true); Проверка обновлений В платформе Windows Phone доступна проверка наличия новых версий приложения, которую легко добавить с помощью кода в OnLaunched метод файла App.xaml.cs: await HockeyClient.Current.CheckForAppUpdateAsync (); Очевидно, что интеграция механизмов HockeyApp представляет из себя очень простой процесс и не требует от разработчиков особенных усилий.Дополнительные возможности, например, авторизации в приложении с помощью аккаунта HockeyApp, доступны в документации на официальном портале сервиса.
Заключение Механизмы HockeyApp очень полезны для разработчиков приложений и позволяют получить такие преимущества, как учет времени работы с приложением при привлечении сторонних тестеров, или мониторинг и анализ ситуаций, при которых происходит незапланированное прекращение работы приложения.Полезные ссылки