Android 接入Google Tag Manager

2022-12-14  本文已影响0人  我爱田Hebe

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

Google Tag Manager

Google Tag Manager基于Firebase Analytics,通过Google Tag Manager,可以实现和管理App中的埋点事件,并轻松的分发到其他统计平台。

支持平台

前置条件

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后台创建账号,如下图;

选择安卓应用,如下图:

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

AppsFlyer的帮助中心有相关的文档:

3.1 配置变量

(1)在后台的工作区中选中变量,在用户自定义变量中点击新建变量,如下图:

(2)变量命名为AppsFlyer Dev Key,并点击变量配置,如下图:

(3)选择变量类型为事件参数,如下图:

(4)Event Type选择Custom Parameter,键设置为dev_key,保存变量,如下图:

*重复上述步骤创建变量AppsFlyer Device ID,键值为af_id。

3.2 配置代码

(1)在后台的工作区中选中代码,点击新建,如下图:

(2)点击代码配置,如下图:

(3)代码类型选择AppsFlyer,如下图:

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

(5)点击触发条件,如下图:

(6)触发器选择All Events(如果只需要分发特定的事件,可以创建不同的触发器),如下图:

(7)保存代码配置

3.3 提交更改

(1)在后台的工作区中选中概览,点击提交,如下图:

(2)在提交配置中选择创建版本,点击创建,如下图:

3.4 测试与发布

(1)在后台的工作区中选中概览,点击最新版本,如下图:

(2)点击下载,下载配置文件Json待用(接入SDK时会用到),如下图:

(3)点击预览,如下图:

(4)配置包名,生成预览链接,测试应用接好SDK并安装到设备后先关闭应用,通过预览链接打开,如下图:

(5)测试没有问题后可以进行发布,如下图:

集成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放到该文件夹中,如下图:

(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

实测效果:

作者:ChenYhong
链接:https://juejin.cn/post/7175409860643651643

上一篇下一篇

猜你喜欢

热点阅读