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