使用 Google 追踪标签管理器记录 Branch 事件

概述

用例 :使用 Google 追踪代码管理器 (Google Tag Manager),Firebase 和 Branch library 记录 Branch 事件。这是使用 GTM 自定义功能完成的。

先决条件 :Branch SDK 必须在 iOS 和 Android App 内。

警告 :尚未(使用不同的用例)对此进行深入测试!

在 Android 上设置自定义标签

🚧

先决条件

请确保您在 Android 上安装了 Branch SDK。

  1. 导入您的 GTM container
  2. Implement a class that extends com.google.android.gms.tagmanager.CustomTagProvider.
    Please see an example below :
import android.support.annotation.Keep;
    import java.util.Map;
    import branch
    @Keep
    public class HighScoreProvider implements com.google.android.gms.tagmanager.CustomTagProvider {
      @Override
      ...
    }
  1. If using ProGuard, make sure that the class names and methods are not obfuscated. Use the Keep annotation to specify this.
  2. 在此自定义类中,使用下面的以下 function
    public abstract void execute (Map<String, Object> parameters)
  3. 在此 function 中,读取 GTM 在"execute" function 中传递的参数,并记录一个 Branch 标准/ 自定义事件。请确保导入 Branch library。
@Keep
    public class TagProviderImpl implements CustomTagProvider {
    ...

        @Keep
        public void execute(Map<String, Object> variables) {
            BranchEvent event = new BranchEvent("View Event");
            for (String key: variables.keySet()) {
                event.addCustomDataProperty(key, variables.get(key).toString());
            }
            event.logEvent(context);
        }
    }

在 iOS 上设置自定义标签

🚧

先决条件

请确保您在 iOS 上安装了 Branch SDK。

  1. 导入您的 GTM container
  2. 确保您包含了 bridging header(尤其是对于同时使用 Swift 和 Objective-C 的代码库)
    1. 打开 Xcode。
    2. 点击 File > New > File。
    3. 在 iOS > Source下,选择 Header File。
    4. 点击 Next。
    5. Enter the header file name BridgingHeader.h
      图片图片
    6. 点击 Create
  3. 在 build settings 上添加 Objective-C bridging header
    1. 在 Xcod e中,点击您的项目。
      图片图片
    2. 在 editor area 点击 Build Settings。
    3. 选择 All and Combined,然后搜索 bridging。
    4. In the right column of the row containing Objective-C Bridging Header, enter BridgingHeader.h
      图片图片
  4. 实现一个 custom class,例如 CustomEventTagFunction
import Foundation
import GoogleTagManager

@objectivec(CustomEventTagFunction)
final class CustomEventTagFunction : NSObject, TAGCustomFunction {
 ...
}
  1. 在此 custom class 中,使用下面的以下 function:
    @objectivec func execute(withParameters parameters: [AnyHashable : Any]!) -> NSObject! { ...}
  2. 在此 function 中,读取 GTM 在"execute" function 中传递的参数,并记录一个 Branch 标准或自定义事件。请确保您导入 Branch library。示例:
import Foundation
    import GoogleTagManager
    import Branch

    @objectivec(CustomEventTagFunction)
    final class CustomEventTagFunction : NSObject, TAGCustomFunction {
        @objectivec func execute(withParameters parameters: [AnyHashable : Any]!) -> NSObject! {
            print("********************* parameters: \(String(describing: parameters))")

            let event_Name = parameters["event_name"] as! String
            let event = BranchEvent.customEvent(withName: event_Name)

            parameters.keys.forEach { key in
                let a = parameters[key] as! String
                event.customData[key] = a
                print("*", a)
            }
            event.logEvent()
            return nil
        }
    }

通过 Firebase 事件触发事件

  1. 确保您有通过 GTM 触发的事件。

示例:
dataLayer.push(["event": "branch_event", "screenName": "Home Screen"])

设置 GTM 配置

  1. 为您的事件设置触发器。
    1. 在触发此触发器时添加筛选项。
      图片图片
  2. 添加要增加的内容的相关事件变量。
    1. 创建一个新变量
    2. 选择 ‘Event Parameter’
    3. 与 Branch 销售工程师或解决方案工程师一起确定要创建的变量。
      图片图片
  3. 在标签部分下创建一个新标签,并提供一个名称。
    1. 点击 Tag Configuration,然后在 Tag type 下选择 Function Call。
    2. 在 Class path 部分下提供创建的 classpath
      1. iOS:请看本节
      2. Android:请看本节
    3. 展开 “Add Argument” 部分,并提供带有事件名称宏的 "event_name" key。添加您需要的其他 key。
  4. 点击触发部分,然后选择您要触发此代码的适当触发器。
    图片图片
  5. 请确保分别在 iOS 和 Android 上更新 container。

这个页面对您有帮助吗?