Отключить отслеживание автоматической активности в Firebase
Мне интересно, есть ли способ отключить отслеживание активности транзакций в аналитике? У меня есть иерархия представлений на основе фрагментов, и есть несколько случаев:
- Активность, которая всегда имеет один фрагмент.
- Активность, которая может иметь разные фрагменты как root.
- Активность с корневым фрагментом, который содержит ViewPager с другими фрагментами.
Я использую такой код в фрагментах из документации Firebase для отслеживания пользовательских экранов:
mFirebaseAnalytics.setCurrentScreen(getActivity(), "some_fragment_1", null);
В первом случае я хочу отслеживать только корневой фрагмент. Во втором случае я хочу отслеживать только каждый фрагмент, который становится root. В третьем случае я хочу отслеживать только каждый фрагмент, который становится видимым в ViewPager.
И проблема в том, что я вообще не хочу отслеживать действия, но, к сожалению, Firebase делает это сам по себе - в результате моя статистика выглядит странно, например:
SomeActivity 50%
some_fragment_1 30%
some_fragment_2 20%
Мне не нужна активность в этой статистике, потому что в нее уже включена статистика фрагментов.
Итак, есть ли способ отключить отслеживание активности?
Ответы
Ответ 1
Я знаю, что это скорее взлом, но, похоже, работает с новейшей аналитикой Firebase. Идея заключается в том, что Firebase Analytics использует registerActivityLifecycleCallbacks()
для каждой операции, объявленной в манифесте, поэтому отключение этого способа отключает автоматическое создание отчетов об активности.
Поместите этот код в каждый корень Activity
, который вы используете.
@Override
public void registerActivityLifecycleCallbacks(Application.ActivityLifecycleCallbacks callback) {
// com.google.android.gms.measurement.internal.zzfl for firebase-core:17.1.0, play-services-measurement-impl:17.1.0
if (!callback.getClass().getName().startsWith("com.google.android.gms.measurement.")){
super.registerActivityLifecycleCallbacks(callback);
}
}
Кредиты, найденные на @liudongmiao https://github.com/firebase/quickstart-android/issues/370.