web-dev-qa-db-ja.com

すべてのアクティビティで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);

だから、データを取得したいすべてのページでこれをしなければならないと思いますか?

25
Óscar

画面レポートの場合、自動的に行われるため、アクティビティごとにFirebaseAnalytics.setCurrentScreen()を呼び出す必要はありません。 公式ドキュメント 状態:

画面レポートは自動的に有効になり、この関数を呼び出さなくても現在のアクティビティのクラス名が記録されることに注意してください。

おそらく、これが機能するには、アプリケーションのサブクラスFirebaseAnalytics.getInstance()メソッドでonCreate()を呼び出す必要があります。

8
Mark

いいえ。アプリケーションクラスを拡張するクラスにグローバル変数を作成するだけです



    public class MyApplication extends Application {
    public static  FirebaseAnalytics mFirebaseAnalytics;
    @Override
        public void onCreate() {
            super.onCreate();
          mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
    }
    }

その後、マニフェストのApplicationタグに次の行を追加します

<application
  Android:name=".MyApplication"
  ...
19
H.S.H

画面追跡は1行のみで行えるようになりました

**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

12
Emre Tekin

Firebase Analyticsでは自動スクリーントラッキングはまだサポートされていませんが、これは現在慎重に検討していることです。

4
Steve Ganem

Firebaseは画面のアクティビティを自動的に追跡するようになりましたが、手動で追跡することはできます。

mFirebaseAnalytics.setCurrentScreen(this, screenName, null /* class override */);

ソース:

https://firebase.google.com/docs/analytics/screenviews

1
Kőne Mátyás