Pull to refresh

Работа с новой версией Google Analytics v2 на примере Android приложения

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



Мы в своём проекте уже попробовали новую версию, адаптированную под мобильные приложения. И я спешу поделиться впечатлениями и рассказать об использовании 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



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

Теперь зайдем во вкладку Standart Reporting -> App Overview, в ней приведены сводные данные многих из данных, собираемых analytics.
Выберем Standart Reporting -> Acquisitions -> New users

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

Вкладка Standart Reporting -> Users -> Overview

Кнопка слева над графиком позволяет отображать различные метрики. Как то: открытые экраны, сессии использования приложения, пользователи. Все это отображается на графике по дням.

Откроем Standart Reporting -> Users -> Devices and Network -> Devices

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

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

Если в приложении ведется отслеживание пользовательских действий, то их статистику можно посмотреть во вкладке Standart Reporting -> Engagement -> Events

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

Безусловно, это лишь поверхностный обзор возможностей Google Analytics. Жду комментариев от опытных аналитиков, с советами по использованию этого мощного инструмента.
Tags:
Hubs:
Total votes 23: ↑21 and ↓2+19
Comments8

Articles