Отслеживание мобильных приложений с помощью Google Analytics

Тема в разделе "Полезные материалы", создана пользователем mr_krabs, 14 сен 2012.

  1. mr_krabs
    Оффлайн

    mr_krabs Administrator Команда форума

    Регистрация:
    6 авг 2012
    Сообщения:
    2.053
    Симпатии:
    221
    Баллы:
    63
    Репутация:
    100
    На мой взгляд крайне полезная статья. Надеюсь даст повод задуматься разработчикам мобильных приложений, что надо не просто их сделать и выпустить на рынок, но и иметь при этом обратную связь :)
    -----------------------------------------------------------------------------------------------------------------

    Не так давно был анонсирован новый SDK Google Analytics (далее GA) под мобильные платформы под версией 2. Сейчас он находится в состоянии бета-версии. Но любой может попросить Google дать доступ к инструментарию.

    [​IMG]

    Мы в своём проекте уже попробовали новую версию, адаптированную под мобильные приложения. И я спешу поделиться впечатлениями и рассказать об использовании SDK на примере приложения под Android.

    Настройка аккаунта
    Три варианта развития событий:

    Нет ни аккаунта GA, ни аккаунта с трекингом приложения

    1. Первым делом создаем новый аккаунт в GA www.google.com/analytics/web/#management/Accounts/, предварительно зарегистрировавшись (это просто, я описывать с вашего позволения всё по шагам не буду).
    2. Жмем вверху над таблицей "+ New Account".
    3. Заполняем все поля, жмем «get tracking id».
    4. И вот заветный ключ перед нами.

    Есть аккаунт GA, но нет аккаунта с трекингом приложения
    Делаем всё тоже, что и в предыдущем пункте, кроме первого шага.

    Есть аккаунт GA, и с него уже ведется трекинг приложения
    1. Справа на верхней оранжевой полоске жмем «Admin».
    2. Выбираем вкладку «Profiles».
    3. Нажимаем кнопку «New Profile».
    4. Выбираем «App», даем имя.
    Всё, тот же ключ, что вы использовали ранее подойдет и сейчас.

    Теперь полученный ключ смело можно вставить в наше приложение.

    Первичная настройка в приложении
    Добавляем библиотеку libGoogleAnalyticsV2.jar в папку libs вашего проекта

    Создаём пустой xml-файл в res/values/analytics.xml
    Код:
    <?xml version="1.0" encoding="utf-8" ?>
    <resources>
    <string name="ga_trackingId">ваш ключ вида UA-111111-1</string>
    <string name="ga_appVersion">1.1.0 Google Play</string>
    <bool name="ga_reportUncaughtExceptions">true</bool>
    <bool name="ga_debug">true</bool>
    <bool name="ga_autoActivityTracking">true</bool>
    </resources>
    
    ga_appVersion — можно удалить, если версия указана в манифесте. Но у меня приложение для разных маркетов, и чтобы отслеживать активности пользователей разных маркетов я переопределяю версии как 1.1 Play и 1.1 Samsung

    ga_reportUncaughtExceptions — в принципе, для трекинга ошибок в проекте используется BugSense, но можно отслеживать их и в аналитике

    ga_debug — включим, чтобы прочитать в логе правильно ли заработала аналитика после настроек

    ga_autoActivityTracking — почему-то без этого трекинг активити не работал, несмотря на то, что в проекте они трекаются принудительно

    Теперь настроим наши активити.
    Для удобства всех их унаследуем от TrackingActivity. В нем напишем следующий код:

    Код:
    public class TrackedActivity extends Activity {
    protected void onCreate(Bundle savedInstanceState, String tag) {
    super.onCreate(savedInstanceState);
    EasyTracker.getInstance().setContext(this);
    //если в наследниках в onCreate мы не будем обращаться к EasyTracker, то можно строчку закомментировать
    }
    @Override protected void onStart() {
    if(getResources().getBoolean(R.bool.analytics_enabled)) {
    EasyTracker.getInstance().activityStart(this);
    } 
    super.onStart();
    }
    @Override protected void onStop() {
    super.onStop();
    EasyTracker.getInstance().activityStop(this);
    }
    }
    
    в res/values/bools.xml для удобства есть поле отключающее аналитику, например, при отладке

    Вот и всё — это минимальный набор настроек. Ну и конечно в Manifest.xml должно быть разрешение:
    <uses-permission android:name="android.permission.INTERNET" />

    Расширенная настройка в приложении
    Также возможно понадобится исследовать пользовательские предпочтения. Можно отследить любые события, для этого достаточно выполнить:

    EasyTracker.getTracker().trackEvent(category, action, label, null);

    где catogory, action и label — строки, описывающие событие. Например, вызовем trackEvent("Clicks", "MainActivityClicks", "onSaveCarLocationClick", null);
    И у нас создастся событие категории Clicks, с именем действия MainActivityClicks и лейблом onSaveCarLocationClick.

    Для отслеживания времени использования приложением и времени выполнения каких-то операций можно вызвать

    EasyTracker.getTracker().trackTiming(category, loadTime, name, label);

    где category, name и label — строки, а loadTime — время в миллисекундах

    Для получения loadTime перед началом операции вызываем System.getCurrentTimeInMillis и после выполнения вызываем еще раз. Разность этих значений и передаем в качестве loadTime.

    Если у вас большая интернет или иная PR-компания, и вы хотите знать источники, с которых пользователи переходят на Google Play страницу вашего приложения — вы можете отслеживать это, передавая не прямой линк на Google Play, а специально сгенерированные на сайте аналитики в самом низу. Тут же кстати можно почитать подробнее о реализации этого отслеживания. Оно требует настройки специального BroadcastReceiver для взаимодействия с Google Play.

    Наслаждение результатами
    Самое вкусное начинается, когда приложение попадает в руки пользователей. Теперь у нас есть статистика, и мы можем посмотреть её в аналитике.
    Заходим на страницу аналитики. И переходим в профиль.

    Первым делом посмотрим в реальном времени на то, кто пользуется приложением именно сейчас.
    Переходим на вкладку Home -> Realtime -> Overview

    [​IMG]

    Здесь особый интерес представляет число пользователей и названия экранов, которые у них открыты.

    Теперь зайдем во вкладку Standart Reporting -> App Overview, в ней приведены сводные данные многих из данных, собираемых analytics.
    Выберем Standart Reporting -> Acquisitions -> New users
    [​IMG]
    Здесь отлично видна статистика по новым пользователям за выбранный вверху справа период. Можно увидеть, сколько пользователей, каких версий и из каких стран впервые запустили приложение.

    Вкладка Standart Reporting -> Users -> Overview
    [​IMG]
    Кнопка слева над графиком позволяет отображать различные метрики. Как то: открытые экраны, сессии использования приложения, пользователи. Все это отображается на графике по дням.

    Откроем Standart Reporting -> Users -> Devices and Network -> Devices
    [​IMG]
    Здесь отображена статистика по устройствам, на которых пользователи запускали приложение.

    В Standart Reporting -> Engagement -> Events представлены данные, которые помогают понять нам, какие именно экраны популярны у пользователей и сколько времени на них пользователи проводят.

    Если в приложении ведется отслеживание пользовательских действий, то их статистику можно посмотреть во вкладке Standart Reporting -> Engagement -> Events
    [​IMG]
    Здесь можно увидеть количество всех пользовательских действий с делением по категориям, таким, которые мы задали в коде.
    Ну а на графике отлично видно, как часто события происходили в разные дни.

    Безусловно, это лишь поверхностный обзор возможностей Google Analytics. Жду комментариев от опытных аналитиков, с советами по использованию этого мощного инструмента.

    Источник http://habrahabr.ru/post/148160/
     

Поделиться этой страницей