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