2016-07-22 4 views
15

Firebase Analyticsコンソールに特別なログを送信したくない場合、ユーザーがより多くの時間を費やしている画面などをチェックするだけです。すべてのアクティビティでFirebase Analyticsを初期化する必要がありますか?

AnalyticsTrackerを使用したときはどこにでも追加する必要があったため、Tracker.xmlファイルですべての画面の具体的な名前を設定できますか?

公式ドキュメントは言う:

compile 'com.google.firebase:firebase-core:9.2.1'

FirebaseAnalyticsは、あなたの活動の先頭にオブジェクトを宣言します:

アプリレベルbuild.gradleファイルにFirebase Analyticsの依存関係を追加します。

private FirebaseAnalytics mFirebaseAnalytics;

次にonCreate()方法でそれを初期化します。だから私はI'veは私がデータを取得したいすべてのページでこれを行うには推測

mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);

、私はhaven't?あなたはちょうどあなたがApplicationタグ

<application 
    android:name=".MyApplication" 
    ... 

答えて

2

から延びなければならない、あなたはすべての活動にFirebaseAnalytics.setCurrentScreen()を呼び出す必要はありませんofficial docs状態:画面の報告が自動的に有効と 呼び出し、この関数にあなたを必要とせずに、あなたの現在の活動の クラス名を記録していることを

注意。

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

11

号スクリーントラッキングはFirebase Analyticsではまだサポートされていませんが、これは現在検討中のものです。

+2

なぜスティーブGanemは、それがサポートされていないと言ったのですか? –

+1

@ H.S.HはPage/ScreenViewsがサポートされているとは言っていません。彼はすべての活動で初期化される必要があるかどうかという質問に答えました。答えはいいえ、Applicationクラスでインスタンス化できます。 – RenatoIvancic

+0

こんにちは、私はAndroidのnoobです。ここで何が起こったのか魅力的です。 マニフェストに「.MyApplication」が追加されたとき、本当の魔法が起こったと思います。しばらく時間を取って、ここで何が起こったのかを説明してください。 – Anuj

4

自動で、あなたのマニフェストに次の行を追加し、後にApplicationクラス



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

を拡張するクラスでグローバル変数を作成する必要が

7

画面の追跡は今基本アクティビティを作成し、ここからFirebaseAnalyticsゲッターを呼び出した後にのみ1行

**Your ApplicationClass** 
    public FirebaseAnalytics mFirebaseAnalytics; 
    @Override 
     public void onCreate() { 
    mFirebaseAnalytics = FirebaseAnalytics.getInstance(this); 
    } 

    public FirebaseAnalytics getmFirebaseAnalytics() { 
      return mFirebaseAnalytics; 
     } 

で行うことができます。次に、以下のように.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

0

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

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

ソース:

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

関連する問題