2016-07-22 2 views
15

Я не хочу отправлять какие-либо специальные журналы в консоль Firebase Analytics, просто проверьте, в каких экранах пользователь тратит больше времени и так далее.Нужно инициализировать Firebase Analytics в каждом мероприятии?

Когда я использовал AnalyticsTracker, это было необходимо добавить его повсюду, так что вы можете установить конкретное имя каждого экрана с помощью файла Tracker.xml.

Официальная документация говорит:

Добавить зависимость для Firebase Analytics для вашего приложения уровня build.gradle файл:

compile 'com.google.firebase:firebase-core:9.2.1'

Объявите FirebaseAnalytics объект, расположенный на верхней части вашей деятельности:

private FirebaseAnalytics mFirebaseAnalytics;

Затем инициализировать его в методе onCreate():

mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);

Так что я думаю I've сделать это на каждой странице, где я хочу, чтобы получить данные, haven't I?

ответ

2

Для представления экрана, вы не нужно вызвать FirebaseAnalytics.setCurrentScreen() в каждой деятельности, так как это делается автоматически. official docs состояние:

Обратите внимание, что отчеты экран автоматически включается и записывает имя класса текущей деятельности для вас, не требуя вызова этой функции.

Предположительно, это сработало, вам нужно вызвать FirebaseAnalytics.getInstance() в вашей заявке подкласса onCreate() метода.

11

Нет, вы просто должны создать глобальную переменную в классе, который расширяет класс приложения



    public class MyApplication extends Application { 
    public static FirebaseAnalytics mFirebaseAnalytics; 
    @Override 
     public void onCreate() { 
      super.onCreate(); 
      mFirebaseAnalytics = FirebaseAnalytics.getInstance(this); 
    } 
    } 

После, добавьте следующую строку в манифесте, в теге Application

<application 
    android:name=".MyApplication" 
    ... 
+2

Тогда почему Стив Ganem говорят, что это не поддерживается? –

+1

@ H.S.H не говорит, что страница/ScreenViews поддерживается. Он ответил только на вопрос, нужно ли его инициализировать в каждом действии. И ответ - нет, вы можете создать экземпляр в классе Application. – RenatoIvancic

+0

Привет, я Android noob, и я очарован тем, что здесь произошло. Я думаю, что настоящая магия произошла однажды. «.MyApplication» был добавлен в манифест. Не могли бы вы потратить немного времени и объяснить, что именно здесь произошло? – Anuj

4

Автоматическая В Firebase Analytics пока не поддерживается отслеживание экрана, но это то, что мы сейчас тщательно рассматриваем.

7

отслеживания экрана теперь может быть сделано только с одной линией

**Your ApplicationClass** 
    public FirebaseAnalytics mFirebaseAnalytics; 
    @Override 
     public void onCreate() { 
    mFirebaseAnalytics = FirebaseAnalytics.getInstance(this); 
    } 

    public FirebaseAnalytics getmFirebaseAnalytics() { 
      return mFirebaseAnalytics; 
     } 

После этого создания базы активность и вызвать поглотитель FirebaseAnalytics отсюда. Затем используйте .setCurrentScreen, как указано ниже:

**Your BaseActivity** 
    @Override 
     protected void onResume() { 

      FirebaseAnalytics firebaseAnalytics = ((ApplicationClass) getApplication()).getmFirebaseAnalytics(); 
      firebaseAnalytics.setCurrentScreen(this, getClass().getSimpleName(), null); 
      Log.d("FAnalytics", "setCurrentScreen: " + getClass().getSimpleName()); 
      super.onResume(); 
     } 

Не забывайте! Вся ваша деятельность должна быть простирается от BaseActivity https://firebase.google.com/docs/analytics/screenviews

0

Firebase Автоматически отслеживает действия экранов сейчас, однако вы все равно можете их отслеживать вручную.

mFirebaseAnalytics.setCurrentScreen(this, screenName, null /* class override */); 

Источник:

https://firebase.google.com/docs/analytics/screenviews

Смежные вопросы