Log Branch Events Using Google Tag Manager

Overview

사용 사례 : Google 태그 관리자(GTM), Firebase 및 Branch library를 사용하여 Branch 이벤트를 기록합니다. 이는 GTM 커스텀 함수를 사용하여 수행됩니다.

필수 조건 : Branch SDK는 iOS 및 안드로이드 앱에 반드시 설치되어 있어야 합니다.

경고 : 이것은 여러 사례를 통한 집중적 테스트가 이루어지지 않았습니다!

안드로이드에서 커스텀 태그 설정

🚧

전제 조건

안드로이드에 Branch SDK가 설치되어 있는지 확인하세요.

  1. GTM 컨테이너 가져 오기
  2. com.google.android.gms.tagmanager.CustomTagProvider을 확장하는 클래스를 구현하십시오.
    아래 예를 참조하십시오.
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. 이 커스텀 클래스 내에서 다음 함수를 사용하십시오.
    public abstract void execute (Map<String, Object> parameters)
  3. 이 함수 내에서 "execute" 함수 내에서 GTM이 전달한 파라미터를 읽고 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 컨테이너 가져 오기
  2. 브리징 헤더가 포함되어 있는지 확인하십시오 (특히 Swift와 Objective-C를 모두 사용하는 코드베이스의 경우).
    1. Xcode를 오픈합니다.
    2. File > New > File을 클릭합니다.
    3. iOS > Source에서 헤더 파일을 선택하십시오.
    4. 다음을 클릭합니다.
    5. Enter the header file name BridgingHeader.h.
      imageimage
    6. Create를 클릭합니다.
  3. 빌드 설정에 Objective-C 브리징 헤더 추가
    1. Xcode에서 프로젝트를 클릭합니다.
      imageimage
    2. 편집기 영역에서 빌드 설정을 클릭합니다.
    3. All 및 Combined를 선택하고 bridging을 검색합니다.
    4. In the right column of the row containing Objective-C Bridging Header, enter BridgingHeader.h.
      imageimage
  4. CustomEventTagFunction과 같은 커스텀 클래스 구현
import Foundation
import GoogleTagManager

@objectivec(CustomEventTagFunction)
final class CustomEventTagFunction : NSObject, TAGCustomFunction {
 ...
}
  1. 이 커스텀 클래스 내에서 다음 함수를 사용하십시오.
    @objectivec func execute(withParameters parameters: [AnyHashable : Any]!) -> NSObject! { ...}
  2. 이 함수 내에서, "execute" 함수 내에서 GTM이 전달한 파라미터를 읽고 Branch 표준 또는 커스텀 이벤트를 기록합니다. Branch library를 import 하여 가져오는 것을 잊지 마세요. 다음은 예시입니다 :
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. 이 트리거가 실행될 때 필터를 추가합니다.
      imageimage
  2. 추가할 관련 이벤트 변수를 추가합니다.
    1. 새 변수 만들기
    2. 'Event Parameter'를 선택합니다.
    3. Branch 판매 엔지니어 또는 솔루션 엔지니어와 협력하여 생성할 변수를 결정하십시오.
      imageimage
  3. 태그 섹션에서 새 태그를 만들고 이름을 제공합니다.
    1. 태그 설정을 클릭하고 태그 유형에서 함수 호출을 선택합니다.
    2. 클래스 경로 섹션에서 생성된 클래스 경로를 제공합니다.
      1. iOS :이 섹션을 보십시오
      2. 안드로이드: 이 섹션을 보십시오
    3. "Argument 추가" 섹션을 확장하고 이벤트 이름 매크로와 함께 키를 "event_name"으로 제공합니다. 필요한 다른 키를 추가하십시오.
  4. 트리거링 섹션을 클릭하고 이 태그를 실행할 적절한 트리거를 선택합니다.
    imageimage
  5. iOS 및 안드로이드에서 각각 컨테이너를 업데이트했는지 확인하십시오.

이 페이지가 도움이 되었습니까?