2016-06-14 14 views
6

Firebase Analyticsが利用可能になる前に、マルチフレーバ、マルチビルドタイプのAndroid Gradleプロジェクト設定を使用し、各ビルドバリアントに異なるGTMコンテナIDを次のように指定します。ビルドバリアントごとにFirebase Analaytics + Googleタグマネージャ(GTM)を設定

TagManager.getInstance(context) 
     .loadContainerPreferNonDefault(BuildConfig.GTM_CONTAINER_ID, -1); 
TagManager.getInstance(context).getDataLayer().pushEvent(eventName, eventData); 

ここで、Gradleはビルドバリアントごとに異なるGTM_CONTAINER_IDを注入します。

Firebase Analytics + GTMでどのように同じことを達成できますか? docsによると、我々は、ダウンロードする必要があります。

  • GTMのダッシュボードからGTMコンテナファイル[1]
  • FirebaseコンソールからGoogleの-services.jsonファイル[2]

、その後はただでイベントを発生開始しますこれは:

FirebaseAnalytics.getInstance(context).logEvent(eventName, bundle); 

ここでは、使用するGTMコンテナIDを指定しますか?または、GTMダッシュボードからダウンロードしたファイル名で自動抽出され、assets/containersの下に置かれますか?その場合は、GTMレガシーAndroidコンテナと同じように、ビルド別に異なるGTM設定を使用するにはどうすればよいですか?

+0

@ DevZer0どうしてこれが投票迷惑メールですか? –

+0

@AnirudhSharma彼と私の間の冗談ですが、私たちは同じ会社で働いています:)私はちょっと待っています。 – DevZer0

+0

@ DevZer0 Haha.Good one :) –

答えて

3

コンテナIDは、推測したとおり、コンテナファイル名から派生しています。ビルド別のバリアントを使用するには、gradle copyタスクを使用して正しいコンテナをステージングすることができます。

+0

ありがとう、ありがとう。資産をオーバーライドするためのリソースの統合については、http://tools.android.com/tech-docs/new-build-system/resource-mergingを参照してください。 – hidro

2

これは、我々が各ビルドバリアントに対して異なるGTMコンテナを使用するために私たちのGradleマルチフレーバープロジェクトを設定する方法である:

/ 
|_app/ 
    |_src/ 
    |_flavor1/ 
    | |_google-services.json # Google services config for debug 
    | |_release/ 
    | |_google-services.json # Google services config for flavor1 
    |_flavor1Release/ 
    | |_assets/ 
    | |_containers/ 
    |  |_GTM-ABCXY1.json # GTM container for flavor1 
    | 
    |_flavor2/ 
    | |_google-services.json # Google services config for debug 
    | |_release/ 
    | |_google-services.json # Google services config for flavor2 
    |_flavor2Release/ 
    | |_assets/ 
    | |_containers/ 
    |  |_GTM-ABCXY2.json # GTM container for flavor2 
    | 
    |_debug/ 
    | |_assets/ 
    | |_containers/ 
    |  |_GTM-ABCXY3.json # GTM container for debug 
    | 
    |_main/ 
     |_res/ 
     |_java/ 

あなたは2つの味flavor1flavor2を持っている、と3つのGTMコンテナを持つようにしたいと仮定すると、両方のフレーバのデバッグビルド用に1つ、各フレーバのリリースビルド用に1つが共有されています。

GTMは、google-services.jsonで指定されたプロジェクトのFAダッシュボードに接続します。マルチフレーバーマルチビルドタイプgoogle-services.jsonのサポートは、プラグインバージョン2.1.0以降で利用可能です。[1]

関連する問題