Подтвердить что ты не робот

Поддержка отслеживания экрана - Firebase 9.8

В соответствии с примечаниями к выпуску Firebase Android SDK с 9.8 update у нас есть поддержка отслеживания экрана с экранами и действиями Android. Документация гласит, что это событие работает следующим образом:

mFirebaseAnalytics.setCurrentScreen(activity,class_name,class_override_name);

В моем случае мне не нужно переопределять имя класса, и я отправляю значение null... Но я жду 48 часов, а моя консоль аналитики firebase не показывает информацию об этом событии, какие-либо идеи?

Спасибо заранее!

4b9b3361

Ответ 1

Сначала у меня был тот же вопрос: где мое событие с текущим именем экрана на панели Firebase? Я вызвал метод mFirebaseAnalytics.setCurrentScreen(this, "MainActivity", null); без результата.

Благодаря комментарию Benoit, я понял, что этот метод указывает значение неявного параметра , который автоматически привязан к любому отправленному вами событию. Это означает, что это не независимое событие, это параметр, который будет придерживаться всех ваших событий с момента его установки.

Это будет полезно, если вы меняете экраны в пределах одного действия. Например, когда у вас есть несколько фрагментов с одним хостингом. И вы вызываете этот метод в каждом фрагменте в onResume().

Если вы хотите иметь отдельную метрику с именем вашего экрана - пожар явно для этого нового события.

Bundle params = new Bundle(); 
params.putString(FirebaseAnalytics.Param.ITEM_CATEGORY, "screen");
params.putString(FirebaseAnalytics.Param.ITEM_NAME, "MainActivity");
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_ITEM, params);

Ответ 2

Еще одна важная вещь, которую я заметил только после двух дней интенсивной борьбы: метод setCurrentScreen ДОЛЖЕН вызываться в потоке пользовательского интерфейса.

Я смог увидеть только то, что искал свет в декомпилированном коде Firebase:

@MainThread
@Keep
public final void setCurrentScreen(@NonNull Activity var1, @Size(min = 1L,max = 36L) @Nullable String var2, @Size(min = 1L,max = 36L) @Nullable String var3) {
    //...
}

Всякий раз, когда этот метод вызывается, регистрируется событие типа screen_view.

И помните о ограничениях размера Firebase. Максимальный размер имени экрана составляет 36 символов.

Ответ 3

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

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

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

Имя и классOverride остаются в силе до тех пор, пока не будет изменено текущее действие или не будет выполнен новый вызов setCurrentScreen. Я попытаюсь добавить этот метод к методу onResume. Я не знаю результата, но я поделюсь своим опытом.