В этой статье рассказывается, как добавить возможности Flurry Analytics в приложение для Windows Phone 7 или Windows Phone 8.
Введение
Агент Flurry Analytics Agent позволяет отслеживать использование и поведение приложения для Windows Phone на телефонах пользователей, чтобы затем анализировать полученные данные в системе Flurry Analytics. Решение реализовано таким образом, чтобы обеспечить максимальную простоту использования, для начальной настройки достаточно 5 минут. Доступ к Flurry Analytics предоставляется БЕСПЛАТНО.
Увеличить
Обзор информации о приложении в системе Flurry Analytics.
Аналитические данные помогают получить ответы на вопросы о пользователях и проследить динамику использования приложения:
- Допустим, ваше приложение для Windows Phone 7 в настоящее время представлено в Магазине Windows Phone. Разве вам не интересно узнать, сколько пользователей вашего приложения работают на устройствах с WP7, а сколько — на устройствах с WP8?
- Вы предлагаете многофункциональное приложение. Но какие функции наиболее востребованы, а какие практически не используются?
- Центр разработчика Windows Phone предоставляет сведения о количестве загрузок. Но как узнать, сколько пользователей активно работают с вашим приложением ежедневно, еженедельно, ежемесячно?
- Сколько раз и как долго пользователи ежедневно работают с приложением?
Необходимые требования
Ниже перечислены предварительные требования для использования Flurry Analytics:
- Учетная запись Flurry Analytics. Откройте веб-сайт Flurry и зарегистрируйтесь, если не сделали этого раньше. Доступ к системе предоставляется БЕСПЛАТНО.
- Приложение для Windows Phone 7 или Windows Phone 8.
Пакет средств разработки программного обеспечения Flurry SDK и ключ API для приложения
- Добавьте новое приложение для своей учетной записи Flurry.
Увеличить
Добавление нового приложения.
Увеличить
Укажите имя приложения (потом его можно изменить) и категорию. - Скачайте SDK.
Увеличить
Скачайте архив (.zip) с пакетом SDK. - Найдите ключ API для вашего приложения в файле ProjectApiKey.txt.
Интеграция с приложением
- Создайте ссылку на FlurryWP8SDK.dll в проекте вашего приложения.
- Внесите в файл WMAppManifest.xml настройки для доступа к параметрам сети (ID_CAP_NETWORKING) и сведениям об устройстве (ID_CAP_IDENTITY_DEVICE).
- Вставьте две следующие строки в код Flurry:
private void Application_Launching(object sender, LaunchingEventArgs e)
{
FlurryWP8SDK.Api.StartSession("FLURRY_API_KEY");
// ....
}
private void Application_Activated(object sender, ActivatedEventArgs e)
{
// Restart session
FlurryWP8SDK.Api.StartSession("FLURRY_API_KEY");
}
После добавления этих двух простых строк кода ваше приложение сможет передавать следующие данные в вашу учетную запись Flurry:
Сеансы | Активные пользователи | Новые пользователи |
Продолжительность сеанса | Частота использования | Тесты производительности |
Просмотры страниц | Настраиваемые сегменты пользователей | Пути пользователей |
Показатели жизненного цикла | Удержание пользователей | Принятие версии |
Использование в нескольких приложениях | Категории интересов | Демографические показатели |
Самый популярный день и час | География использования | Языковые показатели |
Устройства | Транспортные средства | Версии встроенного ПО |
Пользовательские события отслеживания
Регистрация событий
FlurryWP8SDK.Api.LogEvent(string eventId, bool timed, List<Parameter> parameters)
Функция LogEvent() позволяет отслеживать события, возникающие во время сеанса. Вы можете узнать, сколько раз возникало каждое событие, в каком порядке это происходило, а также наиболее распространенные параметры для каждого события. Это, к примеру, позволит определить, как часто пользователи выполняют различные действия и какие последовательности действий они обычно выполняют. Каждый проект поддерживает не более 300 событий. Аргументы timed (с временной меткой) и parameters (параметры) являются необязательными. Длина идентификатора события, ключа параметра и значения параметра не должна превышать 255 символов. У события не может быть больше 10 параметров. Если для аргумента timed задано значение True, это означает, что вы регистрируете в журнале событие с временной меткой.
Регистрация истечения срока действия события
FlurryWP8SDK.Api.EndTimedEvent(string eventId, List<Parameter> parameters)
Используйте EndTimedEvent с тем же идентификатором eventid, который применялся для запуска таймера для события. Это позволяет остановить таймер.
Регистрация ошибок
FlurryWP8SDK.Api.LogError(String message, Exception exception)
Функция LogError() позволяет регистрировать ошибки приложения в журнале. Flurry предоставляет сведения о 10 последних событиях в течение каждого сеанса (максимальная длина — 255 символов).
Опциональные методы настройки
Вызывайте эти методы после вызова функции StartSession() для внесения изменений в конфигурацию:
FlurryWP8SDK.Api.SetVersion(string versionName)
Измените номер версии аналитического отчета. Если соответствующая запись отсутствует, наименование версии будет получено из дескриптора приложения.
Мониторинг демографических показателей
FlurryWP8SDK.Api.SetUserId(string userId)
Эта строка позволяет сохранять присвоенный пользователю идентификатор или имя после того, как он вошел в систему.
FlurryWP8SDK.Api.SetAge(int age)
Используйте эту строку, чтобы сохранять возраст пользователя, вошедшего в систему. Допускаются значения от 0 и выше.
FlurryWP8SDK.Api.SetGender(Gender gender)
Используйте эту строку, чтобы сохранять сведения о поле пользователя, вошедшего в систему.
Мониторинг местонахождения
FlurryWP8SDK.Api.SetLocation(double latitude, double longitude, float accuracy)
Позволяет установить текущее местоположение пользователя через GPS. Flurry хранит сведения только о последнем местоположении.
Отчетность на основе данных контроллинга
FlurryWP8SDK.Api.SetSessionContinueSeconds(intseconds)
Передайте значение, чтобы изменить количество секунд для продолжения приостановленных сеансов. Если в течение заданного периода отсутствовала какая-либо активность, предполагается, что начался новый сеанс.
FlurryWP8SDK.Api.SetReportDelay(intseconds)
Если вы хотите, чтобы после начала сеанса отчетность формировалась с задержкой, можно воспользоваться этим методом и передать соответствующие команды агенту.
Также доступна ссылка на класс API.
Регистрация исключений и трассировок стека
Чтобы необрабатываемые исключения регистрировались в журнале, добавьте следующую строку в метод Application_UnhandledException() модуля App.xaml.cs:
private void Application_UnhandledException
( object sender, ApplicationUnhandledExceptionEventArgs e)
{
if (System.Diagnostics.Debugger.IsAttached)
System.Diagnostics.Debugger.Break ();
FlurryWP8SDK.Api.LogError ( "Application_UnhandledException" , e.ExceptionObject);
}
Регистрировать исключения очень важно, но еще большую ценность представляют трассировки стека, когда необходимо выявить причины сбоя. Чтобы передать трассировку стека в систему Flurry, воспользуйтесь вспомогательным методом, который вызывается при возникновении исключения. Вспомогательный метод обрезает трассировку стека (Flurry поддерживает строки длиной до 255 символов), а затем передает сведения об исключении и трассировку стека обратно в систему Flurry:
public static void LogStackTrace (Exception ex)
{
string stacktrace = ex.StackTrace.Substring =
(0, ex.StackTrace.Length> = 255 255: ex.StackTrace.Length);
FlurryWP7SDK.Api.LogError (stacktrace, ex);
}
Взято из блога Маттхиеу Ванденхенде ( Matthieu Vandenhende)
Поддержка Windows Phone 7
По умолчанию веб-сайт Flurry предоставляет пакет SDK, поддерживающий приложения для Windows Phone 8.
Если вы работаете над приложением для Windows Phone 7, можно использовать предыдущую версию: File:FlurryWP7SDK.zip
Заключение
Как видите, интегрировать возможности Flurry Analytics в ваше приложение для Windows Phone достаточно просто.
Пакет Flurry SDK позволяет регистрировать множество событий различного типа (события с временной меткой, ошибки, сведения о пользователе, местоположение), помогая вам совершенствовать свое приложение, убирая или настраивая функции с учетом их востребованности.