Android 接入Google Tag Manager

語言: CN / TW / HK

最近公司有意向使用Google Tag Manager來管理App中的埋點事件,本篇文章介紹下Google Tag Manager的接入。

Google Tag Manager

Google Tag Manager基於Firebase Analytics,通過Google Tag Manager,可以實現和管理App中的埋點事件,並輕鬆的分發到其他統計平台。

支持平台

  • Floodlight
  • Google Ads
  • adjust
  • AppsFlyer
  • Apsalar
  • Kochava
  • Tune
  • Custom Function Calls(適用於其他產品)

前置條件

1. 集成Firebase SDK

在項目app module的build.gradle中的dependencies中添加依賴:

``` dependencies {     // 使用Firebase Andorid bom(官方推薦)     implementation platform('com.google.firebase:firebase-bom:31.1.0')     implementation 'com.google.firebase:firebase-analytics'

// 不使用bom
implementation 'com.google.firebase:firebase-analytics:21.2.0'

} ```

上報事件

``` class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    val firebaseAnalytics = FirebaseAnalytics.getInstance(this)
    // 參數
    val bundle = Bundle()
    firebaseAnalytics.logEvent("test_track", bundle)
}

} ```

2. 創建Google Tag Manager賬號

Google Tag Manager後台創建賬號,如下圖;

企業微信截圖_16706446179902.png

選擇安卓應用,如下圖:

企業微信截圖_16706446614955.png

3. 配置Google Tag Manager(以AppsFlyer為例)

AppsFlyer的幫助中心有相關的文檔:

3.1 配置變量

(1)在後台的工作區中選中變量,在用户自定義變量中點擊新建變量,如下圖:

image.png (2)變量命名為AppsFlyer Dev Key,並點擊變量配置,如下圖:

image1.png

(3)選擇變量類型為事件參數,如下圖:

(4)Event Type選擇Custom Parameter,鍵設置為dev_key,保存變量,如下圖:

*重複上述步驟創建變量AppsFlyer Device ID,鍵值為af_id。

3.2 配置代碼

(1)在後台的工作區中選中代碼,點擊新建,如下圖:

image4.png

(2)點擊代碼配置,如下圖:

(3)代碼類型選擇AppsFlyer,如下圖:

(4)修改AppsFlyer的配置,如下圖:

(5)點擊觸發條件,如下圖:

(6)觸發器選擇All Events(如果只需要分發特定的事件,可以創建不同的觸發器),如下圖:

(7)保存代碼配置

3.3 提交更改

(1)在後台的工作區中選中概覽,點擊提交,如下圖:

image5.png

(2)在提交配置中選擇創建版本,點擊創建,如下圖:

3.4 測試與發佈

(1)在後台的工作區中選中概覽,點擊最新版本,如下圖:

image6.png

(2)點擊下載,下載配置文件Json待用(接入SDK時會用到),如下圖:

image7.png

(3)點擊預覽,如下圖:

image8.png

(4)配置包名,生成預覽鏈接,測試應用接好SDK並安裝到設備後先關閉應用,通過預覽鏈接打開,如下圖:

企業微信截圖_16706525745924.png

(5)測試沒有問題後可以進行發佈,如下圖:

image9.png

集成Google Tag Manager SDK

(1)在項目app module的build.gradle中的dependencies中添加依賴:

dependencies { implementation 'com.google.android.gms:play-services-tagmanager:18.0.2' }

(2)添加配置

在app/src/main/assets中創建containers文件夾,並將之前下載的配置Json放到該文件夾中,如下圖:

image.png

(3)調整發送事件代碼

需要添加AppsFlyer的SDK,如下:

dependencies { implementation 'com.appsflyer:af-android-sdk:6.9.4' }

上報事件時需要傳入參數dev_key和af_id,如下圖:

``` class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    val firebaseAnalytics = FirebaseAnalytics.getInstance(this)
    // 參數
    val bundle = Bundle()
    bundle.putString("dev_key", "keyValue")
    bundle.putString("af_id", AppsFlyerLib.getInstance().getAppsFlyerUID(context))
    firebaseAnalytics.logEvent(eventName, bundle)
}

} ```

測試

開啟Google Tag Manager日誌

adb shell setprop log.tag.GoogleTagManager VERBOSE

實測效果:

image.png

image1.png