Какой лучший способ инициировать экземпляр Google Firebase Analytic в приложениях Android? - PullRequest
0 голосов
/ 08 июля 2019

Я хотел использовать Firebase Analytic в своем проекте. Но меня смущают три подхода, с которыми я сталкиваюсь, читая, как использовать Firebase Analytics.

1 Использование Activity.2 Использование приложения.3 Использование контент-провайдера.

У меня также есть сценарий следующего поста.

[Вопрос]: call-firebase-analytics-getinstance-every-time-vs-storing-instance Вызов метода getInstance () Firebase Analytic каждый раз вместо сохранения экземпляра в качестве статической переменной в классе приложения

[Блог]: how-do-firebase-initialize-on-android https://firebase.googleblog.com/2016/12/how-does-firebase-initialize-on-android.html

Итак, друзья, я хотел бы знать, в каком сценарии нам следует предпочесть следующий подход. Как цикл активности влияет на аналитические данные, публикуемые в firebase, если я использую контекст действия против контекста приложения. Я обеспокоенчто Firebase может использовать контекст для получения информации о времени жизни или потоке приложения.

Ответы [ 2 ]

1 голос
/ 08 июля 2019

Во-первых, вам нужно понять разницу между 1 использованием деятельности. 2 Использование приложения.

  1. Контекст действия имеет ограниченную область действия, он доступен только в том случае, если активность доступна, и контекст равен нулю, когда действие уничтожено

  2. Контекст приложения доступен во всем приложении и инициализируется только один раз, когда приложение открывается в первый раз

в идеале, вы должны использовать контекст приложения, чтобы избежать нулевого указателя, а Firebase Analytics нужно устанавливать только один раз.

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

Для пользовательского виджета вам необходимо создать собственное событие и отправить его в Firebase Analytics:

Bundle bundle = new Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);

Рефери по этой ссылке

Надеюсь, это поможет !!!

1 голос
/ 08 июля 2019

Firebase Analytics автоматически регистрирует некоторые события и пользовательские свойства;Вам не нужно добавлять код, чтобы включить их.https://firebase.google.com/docs/analytics/android/start

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

...