Из этой статьи вы узнаете, как добавить Google Analytics в приложение Android, чтобы отслеживать действия пользователей на определенных экранах. Если у вас его нет, воспользуйтесь нашим тестовым приложением.
Что вам потребуется: последние версии Android Studio и сервисов Google Play.
Настройте проект
Обновите файл AndroidManifest.xml, добавив в него разрешения INTERNET и ACCESS_NETWORK_STATE.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.analytics">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application android:name="AnalyticsApplication">
...
</application>
</manifest>
Плагин сервисов Google для Gradle извлекает сведения о настройке из файла google-services.json. Добавьте плагин в свой проект, обновив build.gradle на верхнем уровне и файлы build.gradle на уровне приложения следующим образом:
- Добавьте зависимость в файл
build.gradleна уровне проекта:classpath 'com.google.gms:google-services:3.0.0'
- Добавьте плагин в файл
build.gradleна уровне приложения:apply plugin: 'com.google.gms.google-services'
Теперь вам нужно добавить зависимость для сервисов Google Play. Разместите в файле build.gradle приложения следующий код:
compile 'com.google.android.gms:play-services-analytics:9.2.0'
Скачайте файл конфигурации
Нажмите на кнопку ниже, чтобы получить файл конфигурации для проекта.
Файл конфигурации содержит сведения о сервисах для приложения. Чтобы получить его, необходимо выбрать существующий проект для вашего приложения или создать новый. Также потребуется указать название пакета для приложения.
Скачать файл конфигурацииДобавьте в проект файл конфигурации
Скопируйте скачанный файл google-services.json в каталог app/ или mobile/ проекта Android Studio. Откройте панель терминала Android Studio, выполнив действия, описанные ниже.
$ mv path-to-download/google-services.json app/
$ move path-to-download/google-services.json app/
Добавьте отслеживание экранов
На этом этапе вы отправляете именованный просмотр экрана в Google Analytics, когда пользователь открывает или переключает экран в приложении. Код должен выполнять следующие действия:
- обеспечивать общедоступный счетчик в подклассе Application;
- переопределять метод обратного вызова для работы в приоритетном режиме;
- указывать название экрана и выполнять отслеживание.
Приложение
Вам необходимо создать подкласс Application и использовать вспомогательный метод, который будет возвращать счетчик для приложения.
/*
* Google Inc. Все права защищены.
*
* Лицензия Apache версии 2.0 (далее "Лицензия");
* этот файл можно использовать только в соответствии с Лицензией.
* Чтобы получить ее копию, перейдите на страницу
*
* http://www.apache.org/licenses/LICENSE-2.0.
* Если иное не требуется действующим законодательством или не оговорено в письменном виде,
* программное обеспечение, распространяемое по Лицензии, распространяется "КАК ЕСТЬ",
* БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ И УСЛОВИЙ, явных или подразумеваемых.
* Разрешения и ограничения в рамках Лицензии приводятся в Лицензии для каждого конкретного языка.
*/
package com.google.samples.quickstart.analytics;
import android.app.Application;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Tracker;
/**
* Это подкласс {@link Application}, с помощью которого приложению передаются общие объекты,
* например {@link Tracker}.
*/
public class AnalyticsApplication extends Application {
private Tracker mTracker;
/**
* Получает счетчик {@link Tracker}, используемый по умолчанию для этого приложения {@link Application}.
* @return tracker
*/
synchronized public Tracker getDefaultTracker() {
if (mTracker == null) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
// Чтобы включить ведение журнала отладки, используйте adb shell setprop log.tag.GAv4 DEBUG
mTracker = analytics.newTracker(R.xml.global_tracker);
}
return mTracker;
}
}
Activity или Fragment
Откройте действие (элемент Activity), которое вы хотите отслеживать.
Вы также можете отслеживать Fragment, если в нем представлен просмотр экрана.
Переопределите метод onCreate для элемента Activity или Fragment, который вы хотите отслеживать, чтобы получить общий экземпляр Tracker.
// Получение экземпляра общедоступного счетчика. AnalyticsApplication application = (AnalyticsApplication) getApplication(); mTracker = application.getDefaultTracker();
Переопределите соответствующий метод, например onResume для Activity или onPageSelected для ViewPager, чтобы переключения экрана регистрировались.
Log.i(TAG, "Присвоение названия экрану: " + name);
mTracker.setScreenName("Image~" + name);
mTracker.send(new HitBuilders.ScreenViewBuilder().build());
Добавьте код отслеживания для каждого элемента Activity или Fragment, который представляет собой экран.
Дайте элементам Activity и Fragment имена, чтобы отличать сведения о разных экранах в Google Analytics. Все действия, зарегистрированные общедоступным счетчиком, отправляют самое новое название экрана, пока оно не будет изменено или удалено (заменено на null).
Отправьте событие
Задайте значения поля экрана в счетчике, а затем отправьте обращение.
В примере ниже для отправки события используется HitBuilders.EventBuilder.
mTracker.send(new HitBuilders.EventBuilder()
.setCategory("Action")
.setAction("Share")
.build());
Дополнительная информация
- Подробнее о том, как использовать Google Analytics для анализа действий пользователей, читайте в руководстве по внедрению для мобильных приложений.
- Ознакомьтесь с дополнительными параметрами конфигурации, такими как образцы, тестирование и отладка, а также настройки отключения и т. д.
- Если приложение должно собирать рекламные идентификаторы, включите в нем функции для рекламодателей.
