Что пульсирует
Flurry позволяет отслеживать различные аспекты работы мобильного приложения на пользовательских девайсах. Подобно взрослым Google Analytics или Яндекс.Метрика для сайтов.





Можно выбрать регион и посмотреть более детальную статистику по странам.

Все исключения, которые привели к краху приложения.
И вот все эти данные становятся доступны сразу после минимальной модификации приложения. Для анализа можно выбрать какую-то версию и, само собой, диапазон дат. Статистика используемых версий приложения также очень нагладна.

Смешать но не взбалтывать
Перво-наперво нужно зарегистрироваться и создать профиль приложения. И только под это конкретное приложение будет возможность скачать jar-файл библиотеки. Видимо, библиотека генерируется с учетом выданного там же ключика приложения. Дальше, как обычно, добавляем этот jar-ник к списку используемых библиотек проекта. Осталось разобраться только с правкой манифеста и кодом.
В AndroidManifest.xml потребуется добавить строчку
<uses-permission android:name="android.permission.INTERNET"/>
В этом случае географическая статистика будет доступна только на уровне стран. Если нужна более детальная информация то придется попросить еще пару разрешений. Но это уже не очень гуманно по отношению к пользователю.
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
Осталось только добавить пару строчек в код. Это будут точки отсчета начала и окончания сессии. Рекомендуется их поставить в
onStart и onStop каждой активити. Переход между активити не будет засчитан как новая сессия. И вообще, если между сессиями меньше 10 секунд, то это считается как одна сессия. public void onStart()
{
super.onStart();
FlurryAgent.onStartSession(this, "Your unique application key");
// your code
}
public void onStop()
{
super.onStop();
FlurryAgent.onEndSession(this);
// your code
}
Этой скромной подготовки будет достаточно, чтобы наблюдать данные, приведенные выше на скриншотах.
Citius, Altius, Fortius!
Flurry имеет еще один сладкий кусочек — отслеживание предопределенных событий на уровне приложения. Как часто происходит синхронизация? Какого типа заметки наиболее популярные? Был ли коннект к серверу во время сессии? Подобные события можно отслеживать с помощью функции
FlurryAgent.logEvent(String eventId, Map<String, String> parameters)
Результат может выглядеть как-то так

Здесь видно только один параметр app события Activates supported pc apps и распределение всех переданных значений. Если параметров будет передано несколько, то его можно будет выбрать в выпадающем списке слева.

Как часто это событие возникает во время сессии.
Пройдемте к коду. Он очень простой. Это хелпер прямо из приложения, который “кормит” пару графиков выше.
public static void trackSupportedApp(String appName) {
if (appName == null || appName.length() == 0) return;
Map<String, String> map = new HashMap<String, String>();
map.put("app", appName);
FlurryAgent.logEvent("Activates supported pc apps", map);
}
За бортом повести оказались возможности ручного отслеживания ошибок, использования HTTPS и
onPageView(), детализация сессии по имени пользователя, его возрасту и полу. На странице загрузки SDK о всем этом можно почитать более подробно. Я же это пока не использую. Сервис полностью бесплатный. В качестве подопытного

