在Android应用程序中启动Google Firebase Analytics实例的最佳方法是哪种?

时间:2019-07-08 03:43:58

标签: android performance firebase android-studio firebase-analytics

我想在项目中使用Firebase Analytic。但是,我对阅读如何使用Firebase Analytics时遇到的三种方法感到困惑。

1使用活动。 2使用应用程序。 3使用Content Provider。

我也发现了以下帖子。

  

[问题]:每次调用Firebase分析获取实例实例与存储实例   Calling Firebase Analytic's getInstance() every time vs. storing instance as a static variable in Application class

     

[博客]:如何在Android上进行Firebase初始化   https://firebase.googleblog.com/2016/12/how-does-firebase-initialize-on-android.html

所以,朋友,我想知道在哪种情况下我们应该首选以下方法。如果我使用活动上下文与应用程序上下文,那么活动周期如何影响发布到Firebase的分析数据。我担心Firebase可能会使用上下文以得出有关应用程序生命周期或流程的信息。

2 个答案:

答案 0 :(得分:1)

Firebase Analytics自动记录一些事件和用户属性;您无需添加任何代码即可启用它们。 https://firebase.google.com/docs/analytics/android/start

您只需要在应用程序类的onCreate方法中调用FirebaseAnalytics.getInstance(),而无需在每个活动中都调用它。

答案 1 :(得分:1)

首先,您需要了解1使用活动之间的区别。 2使用应用程序。

  1. 活动上下文的范围有限,仅在活动可用时可用,活动销毁时上下文为空

  2. 应用程序上下文在整个应用程序中都可用,并且仅在应用程序第一次打开时才初始化一次。

理想情况下,您应该使用应用程序上下文来避免Null指针,并且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);

推荐这个link

希望有帮助!