web-dev-qa-db-ja.com

Google-AnalyticsからFirebase-Analyticsに移行する方法

バックグラウンド

ここ数か月で、Googleは " Firebase Analytics "と呼ばれる新しいアナリティクスの代替手段を公開しました。

問題

アプリには既にGoogleアナリティクスが搭載されているため、最適な処理方法がわからない障害がいくつかあります。

質問

  1. 以前は、「newTracker」関数にはプロパティIDが必要でした。今は見えません。必要ないということですか?

  2. 以前は、広告情報を収集するために「enableAdvertisingIdCollection」も使用できました。新しいAPIで見つけることができません。自動的に収集されますか?

  3. サーバーへのデータ送信を無効にするために「setDryRun」を使用できましたが、現在は表示されません。アプリのデバッグバージョンでは自動的にこのようになりますか?すべての関数はログに書き込みますか?

  4. 以前は、「画面」を追跡できました。

    public void setScreenName(String name) {
        mGoogleAnalyticsTracker.setScreenName(name);
        mGoogleAnalyticsTracker.send(new HitBuilders.ScreenViewBuilder().build());
    }
    

    今は表示されませんが、読んだように、自動だと思うので、とにかくアクティビティライフサイクルのデータを送信します。本当ですか?

  5. おそらく最も重要なこと:以前はカテゴリ、アクション、ラベル、値を使用して追跡できました:

    public void trackEvent(final String category, final String action, final String label, final long value) {
        mGoogleAnalyticsTracker.send(new HitBuilders.EventBuilder()
                .setCategory(category).setAction(action)
                .setLabel(label).setValue(value).build());
    }
    

    そして今、私は bundles を使用して、イベント(「カスタムイベント」)を追跡するまったく異なる方法を見ています。例:

    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);
    

    どのように機能しますか? Firebase Analyticsのウェブサイト にどのように表示されますか? logEventの最初のパラメーターをGoogle-Analyticsのcategoryパラメーターのように動作させることができると思いますが、それ以外の場合はどうすればよいでしょうか?ドキュメントによると、これは問題ないはずです:

    public void trackEvent(final String category, final String action, final String label, final long value) {
        Bundle bundle = new Bundle();
        bundle.putString("action", action);
        bundle.putString("label", label);
        bundle.putLong("value", value);
        mFirebaseAnalytics.logEvent(category, bundle);
    }
    
  6. 実際にどのイベントが自動的に追跡されていますか(使用しない方がいいと言われているため、これをお願いします here )?購入は含まれますか?アプリ招待?広告?コンソールWebサイトのどこに表示されますか?

  7. ログについては、 それは言う 新しいSDKがそれを行う:

    一連のadbコマンドを使用して、詳細ログを有効にできます。

    adb Shell setprop log.tag.FA VERBOSE adb Shell setprop log.tag.FA-SVC VERBOSE adb logcat -v time -s FA FA-SVC

    これらのコマンドは何をしますか?どうすれば無効にできますか?アプリのリリースバージョンでも表示されることに気付きました...

  8. 新しいSDKはGoogleアナリティクスに取って代わるものですか?完全に移行することをお勧めしますか? Google-Analyticsには更新プログラムがありますか?

72

たくさんの質問がまとめられているので、ほとんどの質問に簡単に答えてみます。

  1. Google AnalyticsはトラッカーIDについてレポートし、Firebase Analyticsはアプリケーションについてレポートします。 google-services.jsonで定義されたアプリケーションのIDは1つだけです。 IDは、「google_app_id」名の下のgoogleサービスプラグインによって文字列リソースに変換されます。アプリからのすべてのイベントは、この単一のIDに報告されます。
  2. Firebase Analyticsは、AdIdを自動的にレポートします。有効にする必要はありません。
  3. DryRun機能はありません。開発中に個別のgoogle-services.jsonを使用するか、アプリバージョンを使用して開発バージョンを除外するか、ユーザープロパティを追加して、開発に使用するアプリインスタンスをマークすることができます。
  4. 次の方法で画面を報告できます

    Bundle params = new Bundle();
    params.putString(FirebaseAnalytics.Param.ITEM_CATEGORY, "screen");
    params.putString(FirebaseAnalytics.Param.ITEM_NAME, "screen name");
    firebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_ITEM, params);
    
  5. 同じパラメーターでカスタムイベントを記録できます

    Bundle params = new Bundle();
    params.putString("category", category);
    params.putString("action", action);
    params.putString("label", label);
    params.putLong("value", value);
    firebaseAnalytics.logEvent("ga_event", params);
    

    追跡するカテゴリがほとんどない場合を除き、カテゴリをイベント名として使用しないでください。 Firebase Analyticsは、最大500個のイベント名をサポートします。それ以上のログを記録すると、一部のデータが無視されます。

  6. FirebaseAnalytics.Eventクラス の先頭に予約済みのイベント名のリストがあります。報告される自動イベントを大まかに表します。

  7. Firebase Analyticsのデバッグログはデフォルトで無効になっています。エラーと警告のみを記録します。デバッグロギングを有効にせず、アプリが正しく構成されている場合、アプリがデバッグロギングを有効にする方法の指示とともに起動したときにログに記録されるのは2行のみです。本番環境で無効にするものはなく、GoogleアナリティクスのsetLogLevel(ERROR)に相当するものはありません。 WARNはデフォルトのロギングレベルです。デバイスでadbコマンドを実行することによってのみ、個々のデバイスでログを有効にできます)。これにより、デバッグログが有効になっている状態でアプリを実稼働で出荷する必要がなくなります。

  8. AndroidおよびiOS用のGoogleアナリティクスSDKは非推奨ではなく、近い将来サポートおよび更新されます。既にアプリで使用していて、ニーズに合っている場合は、そこから離れる必要はありません。

48
djabi

Google Analyticsは、ウェブサイトのトラフィックを追跡および報告するGoogleが提供するフリーミアムWeb分析サービスです。 1 Googleは11月にサービスを開始しました2005年、Urchinを買収。 Firebaseは、カリフォルニア州サンフランシスコに拠点を置くサービス会社としてのクラウドサービスプロバイダーおよびバックエンドです。同社は、モバイルアプリケーションまたはWebアプリケーションを構築するソフトウェア開発者向けに多くの製品を製造しています。

Google AnalyticsからFirebase Analyticsに移行する方法は?

Googleアナリティクス(GA)とFirebase Analytics(FA)は、その一般的な名前にもかかわらず、多くの点で大きく異なります。 GAは汎用(およびWeb指向の)分析ツールですが、Firebaseはモバイルを念頭に置いて構築されています。したがって、機能セットは2つで異なり、FAとGAに欠けているもの。

より具体的には、これらはFirebase Analyticsを検討する際の注目すべき点です:

  • リアルタイムビューがありません
  • 4〜6時間後にイベントを利用できます
  • 行動フロー(GAから)がありません
  • オーディエンスは、FAの大きな利点を備えており、通知と組み合わせることで、特定のユーザーグループと連携できます。
  • Firebase Crash Reportingを使用すると、クラッシュを経験したユーザーを含むオーディエンスが自動的に作成されます
  • FAは画面ビューではなくイベントに基づいているため、ファンネル分析はGAよりもはるかに理にかなっています
  • イベントの種類の数(500に制限)を除き、無料で無制限。各タイプごとのイベントの量に制限はありません
  • 一部のイベントは自動的にログに記録されます(つまり、アクティビティライフサイクルに基づいたセッション)
  • GAのメソッド数と比較して、メソッドのフットプリントが比較的低い
  • セットアップが非常に簡単で、初期化するシングルトンはなく、Gradle依存関係を含めてイベントのログを開始するだけです。
  • 他のFirebaseサービスを使用する予定の場合、オールインワンコンソール

一方から他方への切り替えを検討する必要があるかどうか、または両方を並行して維持するかどうかについては、答えは次のとおりです:

  • 以前にGAを広範囲に使用していた場合、完全にFAに切り替えるとその機能の一部が失われる可能性があります。
  • ただし、これがプロジェクトの新たなスタートである場合、FAはクロスプラットフォームのモバイル指向環境になりやすいため、独自の分析ツールと見なすことができます。

ちなみに、Firebaseはローンチされたばかりで、Googleは今後数週間で機能を追加する予定です(リアルタイムダッシュボードなど)。

チュートリアルについては、こちらをご覧ください https://firebase.google.com/docs/analytics/Android/start/

12
Shubham Sharma