Необходимо инициализировать 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);
Итак, я думаю, что я должен делать это на каждой странице, где хочу получить данные, не так ли?
Ответы
Ответ 1
Для отчетов по экрану вам не нужно вызывать FirebaseAnalytics.setCurrentScreen()
в каждом мероприятии, потому что это делается для вас автоматически. официальные документы:
Обратите внимание, что отчет по экрану включается автоматически и записывает имя класса текущей деятельности для вас, не требуя от вас вызовите эту функцию.
Предположительно, для этого вам нужно вызвать FirebaseAnalytics.getInstance()
в вашем подкласске onCreate()
.
Ответ 2
Нет. Вам просто нужно создать глобальную переменную в классе, который расширяет класс Application
public class MyApplication extends Application {
public static FirebaseAnalytics mFirebaseAnalytics;
@Override
public void onCreate() {
super.onCreate();
mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
}
}
После этого в манифесте добавляется следующая строка в теге приложения
<application
android:name=".MyApplication"
...
Ответ 3
Теперь отслеживание экрана может выполняться только с одной строкой
**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
Ответ 4
Автоматическое отслеживание экрана пока не поддерживается в Firebase Analytics, но это то, что мы сейчас тщательно рассматриваем.
Ответ 5
Firebase Автоматически отслеживает действия экранов сейчас, однако вы можете отслеживать их вручную.
mFirebaseAnalytics.setCurrentScreen(this, screenName, null /* class override */);
Источник:
https://firebase.google.com/docs/analytics/screenviews