마케팅 어트리뷰션(Hive 사용자 추적 툴)은 Adjust, Singular, AppsFlyer를 동시에 적용하기 쉽도록 묶어 놓은 패키지이다. 프로젝트 별로 적용 여부를 따진 후, 각 모듈 별로 키를 발급해 적용한다.

Key 설정을 위해 마케팅 어트리뷰션 툴 가이드를 참고하세요.

기본으로 지원하는 기능은 아래와 같다.

  • 게임 내 이벤트 추적
  • 과금 추적

Tracking Module Initialize

  • 모듈의 키 값과 이벤트 키 값을 설정
  • 최초 모듈 초기화 시 발급받은 키 값을 입력하거나 Unity의 경우 키 값을 입력할 인스펙터를 제공함

필수 발급 키 값

  • Adjust는 기본 Update와 Purchase, TutorialComplete용 키 값 발급 필요
  • Singular는 별도의 키 값을 발급할 필요 없이 코드에 추가해서 사용

TutorialComplete를 제외한 다른 값(Purchase, Install, Open, Update)은 모듈에서 호출하기 때문에 게임 내에서는 호출하지 않아야 한다. 단, Adjust의 경우 Update에 대한 키 값을 발급받아 클라이언트에서 따로 키 값을 추가해주어야 한다.

트래킹 모듈의 키 값 설정 시 Adjust는 발급받은 이벤트 토큰(Token) 값을 입력해야 한다. Singular는 Singular 콘솔 페이지에서 별도 발급 및 추가 없이 코드에서 원하는 키 값을 추가하여 사용하면 해당 키 값이 집계된다.

 

C2SModuleTracker_SendEvent

이벤트를 전송한다.

argument type type desc platform 비고
event string 이벤트 이름은 Initialize에서 Matching에
설정한 키로 사용
all 1.5.0
revenue Dictionary (unity) 설정할 경우 수익 측정 이벤트를 발생 all 1.5.0

key-value for revenue

argument type type desc platform 비고
title string (필수) 상품 이름 all 1.5.0
description string (필수) 상품 설명 all 1.5.0
currency string (필수) 통화 코드
(https://en.wikipedia.org/wiki/ISO_4217)
규격에 맞게 입력 (대문자로 사용)
all 1.5.0
price string  (필수) 상품 가격 (float 형태) all 1.5.0
itemCount int  (필수) 상품 개수 all 1.5.0
transactionId string  중복구매방지 refId
안드로이드 : order Id
iOS : (영수증 검증 이후의) transactionId
all 1.11.3+

Returns

YES일 경우 성공, NO일 경우 실패

 

C2SModuleTracker_SetEnable

 Tracker의 이벤트 전송에 대한 활성화 여부를 설정한다.

argument type type desc platform 비고
Adjust bool Adjust모듈의 이벤트 전송 활성화 여부 all 1.5.0
Singular bool Singular모듈의 이벤트 전송 활성화 여부 all 1.5.0
AppsFlyer bool AppsFlyer모듈의 이벤트 전송 활성화 여부 all 1.19.8+

Returns

YES일 경우 성공, NO일 경우 실패

 

샘플 코드

Unity 3d:C2SModule.Tracker.SendEvent
public static bool C2SModule.Tracker.SendEvent(C2SModule.Parameter arg, out C2SModule.Error error);
public static bool C2SModule.Tracker.SendEvent(C2SModule.Parameter arg, out C2SModule.Error error,
C2SModule.CompletionHandler completionHandler);
Overview
– 사용자 추적툴 이벤트 발생
Unity 3d:C2SModule.Tracker.SetEnable
public static bool C2SModule.Tracker.SetEnable(C2SModule.Parameter arg, out C2SModule.Error error);
public static bool C2SModule.Tracker.SetEnable(C2SModule.Parameter arg, out C2SModule.Error error,
C2SModule.CompletionHandler completionHandler);
Overview
– 사용자 추적툴 사용여부 설정

 

Unreal:HiveSDKUETracker_SendEvent
void HiveSDKUETracker_SendEvent(FString fstrJson);
Overview
– 사용자 추적툴 이벤트 발생
Unreal:HiveSDKUETracker_SetEnable
void HiveSDKUETracker_SetEnable(FString fstrJson);
Overview
– 사용자 추적툴 사용여부 설정
IOS:C2SModule Tracker SendEvent
+(BOOL)SetEnable:(id)arg error:(NSError**)error;
+(BOOL)SetEnable:(id)arg error:(NSError**)error completionHandler:(void(^)(NSDictionary *, NSError*))
completionHandler;
Overview
– 사용자 추적툴 이벤트 발생
IOS:C2SModule Tracker SetEnable
+(BOOL)SetEnable:(id)arg error:(NSError**)error;
+(BOOL)SetEnable:(id)arg error:(NSError**)error completionHandler:(void(^)(NSDictionary *, NSError*))
completionHandler;
Overview
– 사용자 추적툴 사용여부 설정
Cocos2d-x:C2SModuleTracker_SendEvent
bool C2SModuleTracker_SendEvent(const char* pstrJson, C2SModule_Cocos2dx::C2SModuleError* pkError,
C2SModule_Cocos2dx::C2SModuleCompletionHandler* completionHandler = NULL);
Overview
– 사용자 추적툴 이벤트 발생
C2SModuleTracker_SetEnable
bool C2SModuleTracker_SetEnable(const char* pstrJson, C2SModule_Cocos2dx::C2SModuleError*
pkError, C2SModule_Cocos2dx::C2SModuleCompletionHandler* completionHandler = NULL);
Overview
– 사용자 추적툴 사용여부 설정

 


C2SModuleTracker_ShowConsentMode

EU 및 EEA 지역에서 2024년 3월 6일부터 맞춤 광고 제공을 위한 개인 정보를 수집할 경우 유저로부터 명시적 동의를 받도록 하는 DMA 규정이 의무화 됨에 따라, 개인정보 수집 동의 여부를 체크할 수 있는 동의 배너를 노출합니다.

API 사용을 위한 사전 설정
Android

App 수준의 build.gradle에서 “Analytics Consent-Mode” 라이브러리를 선언합니다.

iOS

Podfile에서 “Analytics Consent-Mode” 프레임워크를 선언합니다.

Request
ARGUMENT NAME TYPE DESC PLATFORM 비고
checkCmp bool (optional) TCF 규격에 맞게 저장된 파일이 있다면 해당 파일을 읽어 동의 정보 설정 여부이며 기본값은 true(서드 파티 동의 관리 플랫폼(CMP)과 연동 참고) all 24.1.1+
type string
  • require: 조건부로 개인 정보 수집 동의 UI 노출함. 사용자가 이미 동의를 한 경우에는 동의 배너 UI를 노출하지 않으며 기한이 만료되었거나 추가 동의가 필요한 경우에만 노출
  • always: 개인 정보 수집 동의 UI 상시 노출함. 사용자가 이전에 동의한 내역이 있다면 그 값에 따라 동의 상태가 설정된 상태로 UI를 노출함. 사용자가 언제든 다시 동의하거나 동의 상태를 확인할 수 있도록 앱 내 설정 버튼 구성 가능
all 24.1.1+
Response
ARGUMENT NAME TYPE DESC PLATFORM 비고
type string 호출 타입 (require / always) all 24.1.1+
consentStatus Array 동의 배너에 포함되는 Provider 상태 정보 all 24.1.1+
consentStatus 배열 타입
ARGUMENT NAME TYPE DESC PLATFORM 비고
providerName string Provider 이름

  • main: 공통 동의 항목
  • google, adjust, appsflyer, singular: 기본 동의 배너에 포함되는 Provider 항목
all 24.1.1+
consentForDataUsage string
  • granted: 기기 정보를 [providerName]과 공유하는데 동의함
  • denied: 기기 정보를 [providerName]과 공유를 거부함
all 24.1.1+
consentForPersonalization string
  • granted: 맞춤 광고 정보를 [providerName]과 공유하는데 동의함
  • denied: 맞춤 광고 정보를 [providerName]과 공유를 거부함
all 24.1.1+
consentDate long 동의를 진행한 시각. 단위는 millisecond. all 24.1.1+
expiredDate long 동의가 만료되는 시각. 단위는 millisecond. all 24.1.1+
샘플 코드
Unity 3d:C2SModule.Tracker.ShowConsentMode
public static bool C2SModule.Tracker.ShowConsentMode(C2SModule.Parameter arg, out C2SModule.Error error);
public static bool C2SModule.Tracker.ShowConsentMode(C2SModule.Parameter arg, out C2SModule.Error error, C2SModule.CompletionHandler completionHandler);
Overview
– 동의 배너를 노출
IOS:C2SModule Tracker ShowConsentMode
+(BOOL)ShowConsentMode:(id)arg error:(NSError**)error;
+(BOOL)ShowConsentMode:(id)arg error:(NSError**)error completionHandler:(void(^)(NSDictionary *, NSError*))
completionHandler;
Overview
– 동의 배너를 노출
Cocos2d-x:C2SModuleTracker_ShowConsentMode
bool C2SModuleTracker_ShowConsentMode(const char* pstrJson, C2SModule_Cocos2dx::C2SModuleError* pkError,
C2SModule_Cocos2dx::C2SModuleCompletionHandler* completionHandler = NULL);
Overview
– 동의 배너를 노출

 

서드 파티 동의 관리 플랫폼(CMP)과 연동

동의 배너 팝업을 노출할 때 생성하는 TCF 규격에 맞는 파일을 활용하면 서드 파티 동의 관리 플랫폼(CMP)과 중복으로 동의 배너 UI를 노출하지 않도록 설정할 수 있습니다. C2SModuleTracker_ShowConsentMode checkCmp 파라미터가 true인 경우, TCF 규격에 맞게 저장된 파일이 있다면 해당 파일을 읽어 파일에 있는 업체는 동의 설정한 것으로 간주합니다. 예를 들어, Hive Adiz를 사용할 경우 Google AdMob 콘솔에 접속하여 GDPR 메시지를 작성한 후, Hive Adiz를 초기화해볼 수 있습니다. CMP에서 동의 배너를 중복하여 노출하지 않으려면 아래와 같은 순서로 파트너 설정을 진행합니다. 설정에 앞서 동의를 받아야 하는 업체를 파트너로 설정합니다. 설정에 대한 자세한 사항은 HIVE ADIZ > GDPR 메시지 작성를 참고하세요.

  1. 좌측 메뉴에서 개인 정보 보호 및 메시지를 클릭
  2. 동의 관리 솔루션 > 유럽 규정 메뉴에서 ‘GDPR’ 설정을 클릭. 이후 메시지를 입력하고, 파트너사를 설정할 수 있는 페이지로 이동
  3. 광고 파트너 검토 > 맞춤 광고 파트너 항목에서 수정 버튼을 클릭(이후, 광고 파트너 목록을 확인하고 필요한 파트너를 선택하도록 수정할 수 있음)

  4. 동의를 받아야 하는 업체명을 확인하여 체크. (파트너 목록에서는 검색 기능을 제공하지 않으므로 Ctrl+F로 검색하시면 편리함.)
    – AppsFlyer 동의 필요 → Appsflyer 체크
    – Adjust 동의 필요 → Adjust GmbH 체크
    – Singular 동의 필요 → Singular Labs Inc. 체크
    ※Google은 자동으로 선택되어 있음
  5. 저장 후, 선택한 파트너사가 목록에 노출되는 것을 확인할 수 있음