Использование Google Analytics в приложении для платформы Android

Проблема

Разработчики часто хотят отслеживать свои приложения с точки зрения функ­ций, используемых пользователями. Как вы можете определить, какая функция больше всего используется пользователями вашего приложения?

Решение

Используйте Google Analytics для отслеживания приложения на основе опреде­ленных критериев, аналогично механизму отслеживания веб-сайта Google Analytics.

Обсуждение

Прежде чем мы используем Google Analytics в нашем приложении, нам нужна аналитическая учетная запись, которую вы можете получить бесплатно от компании Google, используя один из двух способов для запуска SDK Google Analytics.

 

Автоматизированный подход

Только в среде Android Studio можно выполнить шаги, чтобы получить SDK Google Analytics, указанный на странице, который включает в себя создание про­стого конфигурационного файла Google, содержащего вашу учетную запись Google Analytics. Затем добавьте две зависимости classpath и дополнительный модуль Gradle в сценариях сборки Gradle. Этот дополнительный модуль прочитает загру­женный файл конфигурации и применит информацию к вашему коду.

 

Практичный подход

Более практичный подход предполагает создание вашей учетной записи непос­редственно на странице, а затем добавление двух за­висимостей и предоставления аналитической учетной записи SDK. Двумя зависимос­тями являются com.google.gms:google-services:3.0.0 и com.google.android.gms:play-services-analytics:10.0.1.

Теперь войдите в свою учетную запись Google Analytics и создайте профиль веб­сайта для приложения. URL-адрес веб-сайта может быть фиктивным, но информативным. Я рекомендую использовать для этого обратное имя пакета. Например, если пакет приложения имеет имя com.example.analytics.test, то URL-адрес веб-сайта для этого приложения может быть http://test.analytics.example.com. После со­здания профиля веб-сайта для него создается идентификатор веб-ресурса. Сохрани­те его в безопасном месте, поскольку мы будем использовать этот идентификатор в нашем приложении. Идентификатор, также известный как UA-номер отслеживания кода, однозначно идентифицирует профиль веб-сайта.

 

Общие этапы

Затем убедитесь, что у вас есть следующие разрешения в файле AndroidManifest.xml вашего проекта:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Note

 

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

Теперь мы готовы отслеживать наше приложение. Получите одиночный экзем­пляр трекера, вызвав метод GoogleAnalytics.getlnstance().NewTracker(). Обыч­но требуется отслеживать больше, чем просто активности в приложении. В таком сценарии неплохо иметь этот экземпляр механизма слежения в методе onCreate() класса Application (см. пример 1).

Пример 1. Реализация приложения для отслеживания

public class GADemoApp extends Application {
    /*
     * Define web property ID obtained after creating a profile for the app. If
     * using the Gradle plugin, this should be available as R.xml.global_tracker.
     */
    private String webId = "UA-NNNNNNNN-Y";

    /* Analytics tracker instance */
    Tracker tracker;

    /* This is the getter for the tracker instance. This is called from
     * within the Activity to get a reference to the tracker instance.
     */
    public synchronized Tracker getTracker() {
        if (tracker == null) {
            // Get the singleton Analytics instance, get Tracker from it
            GoogleAnalytics instance = GoogleAnalytics.getInstance(this);

            // Start tracking the app with your web property ID
            tracker = instance.newTracker(webId);

            // Any app-specific Application setup code goes here...
        }
        return tracker;
    }
}

Вы можете отслеживать представления страниц и события, связанные с экземп­ляром классе Activity, вызывая методы setScreenName() и send() из экземпляра трекера (см. пример 2).

Пример 2. Класс MainActivity со слежением

public class MainActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // Слежение за представлением страницы активности
        Tracker tracker =
            ((GADemoApp)getApplication()).getTracker();
        tracker.setScreenName("MainActivity");
        tracker.send(new HitBuilders.ScreenViewBuilder().build());

        /* Можно следить за событиями вроде нажатия кнопки... */ 
        findViewById(R.id.actionButton).setOnClickListener(v -> {
                Tracker tracker =
                    ((GADemoApp)getApplication()).getTracker();
                tracker.send(new HitBuilders.EventBuilder(
                    "Action Event", "Button Clicked").build());
        });
    }
}

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

Вас заинтересует / Intresting for you:

Версии платформы Android
Версии платформы Android 2478 просмотров Илья Дергунов Sun, 04 Nov 2018, 14:44:59
О платформе Android
О платформе Android 4857 просмотров Илья Дергунов Mon, 29 Oct 2018, 17:07:02
Запросы разрешений от системы ...
Запросы разрешений от системы ... 4446 просмотров dbstalker Sun, 24 Feb 2019, 06:24:29
Понимание архитектуры приложен...
Понимание архитектуры приложен... 2633 просмотров Илья Дергунов Mon, 29 Oct 2018, 17:31:25
Войдите чтобы комментировать

apv аватар
apv ответил в теме #10029 2 года 9 мес. назад
Спасибо за пример! Наглядно показали, как можно использовать Гугл аналитику в приложении для Андроид!