Интегрируем Flurry Analytics в приложение на основе Xamarin.Forms

EGO Angel 1 год ago
Главная  /  Инструментарий разработчика  /  Интегрируем Flurry Analytics в приложение на основе Xamarin.Forms
analytics

analytics

Приветствуем тебя, дорогой читатель!

Наша команда регулярно повышает качество своих знаний в сфере разработки и углубляется в изучении наиболее востребованных инструментов. А после успешного освоения ребята с удовольствием делятся своим опытом с командой и со всеми желающими. Поэтому наш разработчик Сергей написал статью, в которой описал свой опыт интеграции Flurry Analytics в приложение iOS на основе Xamarin.Forms. Надеемся, что этот материал будет для вас полезен и вы найдете ему применение в своей работе.


Описание сервиса

Flurry Analytics – один из популярных инструментов для сбора аналитики. Он имеет достаточно большой функционал и может быть внедрен в основные мобильные платформы (iOS, Android, Windows Phone). Возможность бесплатного использования является одним из преимуществ данной системы. Для более детально знакомства с Flurry можно посетить официальный сайт и портал для разработчиков.

Список всех показателей, которые измеряются в приложении можно найти в документе. Список наиболее популярных приведен ниже:

  1. Использование и технические показатели
  • Устройства, версия прошивки, носители информации, версия приложения
  • Количество сессий, их длина и частота
  • Новые и активные пользователи
  • Аудитория и метрики производительности

2. Персональная информация

  • Возраст
  • Пол
  • География
  • Тесты производительности

3. Регистрация ошибок в приложении

4. Регистрация пользовательских событий

Интеграция Flurry Analytics в приложение iOS на основе Xamarin.Forms

Для интеграции Flurry Analytics в Xamarin приложение существуют nuget пакеты Flurry Analytics и Flurry Analytics Portable. Первый пакет необходимо установить в платформозависимую часть проекта (native часть), а portable версию, соответственно, в платформонезависимую (core часть). Следует отметить, что portable версию можно устанавливать и использовать в любой части проекта.

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

flutty-parts

Весь доступный функционал аналитики хорошо описан в документации Flurry. Рассмотрим ее использование на небольшом примере.

Старт и Настройка Flurry

Точкой входа в аналитику является метод StartSession, которому необходимо указать API_KEY. API_KEY – это уникальный идентификатор вашего приложения в системе аналитики. Его можно получить, зарегистрировавшись на сайте аналитики и создав там свое приложение. Далее можно указать, в каких случаях приложение должно отправлять данные на сервер и включить различные debug инструменты. К примеру, при определенных настройках Flurry будет отправлять отчеты о прекращении работы приложения по причине ошибки или  выполнять логирование.

otpravka_otchetov

Конфигурация Flurry     

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

informatsiya-o-polzovatele

 

Регистрация событий Flurry

Один из полезных инструментов Flurry аналитики — это возможность регистрации и логирования событий. Логируя события можно отслеживать активность пользователя в приложении. Например, эта информация будет полезна при усовершенствовании приложения. Также есть возможность передачи параметров в методы логирования. Это позволит не только фиксировать какое-либо событие, но и сохранить дополнительную информацию.

registraciya-sobitiy

Регистрация timed events

Функционал Flurry включает в себя ряд методов для регистрации и логирования Timed Event. С их помощью можно отслеживать длительность события. Например, фиксировать, сколько времени пользователь провел на той или иной странице.

sample1_2

sample3

 

Пример, приведенный в статье, можно посмотреть и скачать на GitHub. Но, для того, чтобы посмотреть, как он работает, необходимо зарегистрироваться во Flurry Analytics и указать свой API_KEY в методе инициализации.

На что стоит обратить внимание при интеграции Flurry Analytics

  1.    В нативной части проекта можно работать с портативной и нативной версией. Это значит, что использование аналитики возможно как через Flurry.Analytics.Portable.AnalyticsApi, так и через Flurry.Analytics.FlurryAgent;
  2.    Точка входа в аналитику должна быть в нативной части. Это обусловлено тем, что для разных платформ используются разные методы инициализации аналитики;
  3.    Один из интересных фактов в использовании аналитики — логирование событий, сбор информации и прочие действия можно начать и без старта сессии Flurry.  При первом же старте сессии Flurry отправит собранную ранее информацию на сервер;
  4.    Синхронизация данных имеет некоторые недостатки. К сожалению, Flurry — не является real-time системой. На протяжении сессии, вся собранная информация не отправляется на сервер, а кешируется. Отправка происходит лишь тогда, когда приложение закрывается или уходит в фоновый режим (и то не сразу, а через определенное время — time-out). При таких условиях есть риск потери собранной информации, но форсировать отправку данных на сервер Flurry нельзя. Справедливости ради, необходимо отметить, что в SDK есть метод для принудительного завершения сессии (endSession). Но он доступен только при работе с Android и Windows Phone приложениями;
  5.    В логе событий информация появляется примерно через 3-5 минут. Диаграммы и статистика могут обновляться до 24 часов;
  6.    Каждый проект поддерживает не более 300 событий;
  7.    Каждое событие может иметь не более 10 параметров;
  8.    Уникальный идентификатор события, имя параметра и значения параметра не должны превышать 255 символов.

Диаграммы и графики

Технические характеристики

graph1

graph2

Количество сессий и их продолжительность

graph3

graph4

Активность пользователей и их персональные данные

graph5

graph6

Регистрация пользовательских событий

graph7

В заключение

Flurry Analytics — бесплатная и легко интегрируемая система аналитики, которая позволяет измерять наиболее важные для анализа показатели. Систему можно интегрировать в iOS, Android и WinPhone платформы, а большая часть ее функционала доступна без дополнительных настроек. Имеющиеся nuget пакеты позволяют без особых усилий интегрировать Flurry Analytics в приложения на основе Xamarin, а в частности основанные на Xamarin.Froms. В качестве недостатков системы стоит отметить отсутствие гибкости в отправке данных на сервер и не достаточно полную детализацию отчетов об ошибках в приложении.

Category:
  Инструментарий разработчика
этой записью поделились 0 раз
 300