이벤트란 게임 설치, 게임 업데이트, 아이템 구매와 같이 유저가 게임을 플레이하면서 수행하는 모든 활동입니다. 이러한 이벤트 로그를 모아 서버에 전송하면 유저 활동을 추적할 수 있고 이를 분석해 다양하게 활용할 수 있습니다. 예를 들어, 게임내에서 발생하는 레벨업, 아이템 강화와 같은 이벤트를 추적하여 유저 행동을 예측할 수 있으며 게임을 더 재밌게 즐길 수 있도록 유도할 수 있습니다.

마케팅 어트리뷰션

여러분의 앱에 유저가 진입하는 경로와 유저 활동을 추적하는 서드 파티(Third party) 모바일 앱 어트리뷰션을 Hive와 함께 사용할 수 있습니다. Hive SDK가 제공하는 서드 파티 모바일 앱 어트리뷰션은 Adjust와 Singular, AppsFlyer, Firebase Analytics 네 가지입니다.

서드 파티 어트리뷰션 활성화하기

Hive API를 이용하여 서드 파티 어트리뷰션을 활성화하거나 비활성화할 수 있습니다. 서드 파티 어트리뷰션을 활성화·비활성화하려면 Analytics API의 setEnableTracker() 함수를 호출하세요. 함수의 첫 번째 파라미터로는 활성화·비활성화하고자 하는 어트리뷰션을 다음과 같이 안내된 문자열로 정의하세요:

  • Adjust: ADJUST
  • Singular: SINGULAR
  • AppsFlyer: APPSFLYER
  • Firebase: FIREBASE

다음은 특정 어트리뷰션을 비활성화하는 예제 코드입니다.

Unity®

API Reference: hive.Analytics.setEnableTracker

C++

API Reference: Analytics::setEnableTracker

Kotlin

API Reference: Analytics.setEnableTracker

Java

API Reference: com.hive.Analytics.setEnableTracker

Swift

API Reference: AnalyticsInterface.setEnableTracker

Objective-C

API Reference: HIVEAnalytics:setEnableTracker

Steam Appsflyer 적용하기

Windows 환경에서 Steam Appsflyer를 적용하려면 다음 안내를 따르세요.

  1. Appsflyer Steam을 다운로드합니다.
  2. 다운로드 받은 파일의 압축을 해제합니다.
  3. 압축을 해제한 Appsflyer.dll 파일을 {게임 앱 실행 파일 경로}/plugins/trackers에 넣습니다.

이벤트 자동 추적

Hive SDK에서는 Install(앱 설치), Open(앱 오픈), Update(앱 업데이트), Purchase(인앱 구매)의 4개 이벤트를 자동으로 추적하여 각 어트리뷰션으로 전송할 수 있습니다. 게임사는 이 4개 이벤트 추적을 위한 코드를 구현할 필요가 없습니다.

Adjust로 이벤트 자동으로 추적하기

  1. 필요한 토큰을 발급받습니다. 토큰 발급 방법에 대해서는 Adjust에서 제공하는 대시보드 안내를 참고하세요.
    • Purchase, Update 이벤트를 자동 추적하려면 Adjust 대시보드에 이벤트를 등록하고 앱 토큰과 이벤트 토큰을 얻어야 합니다. 앱 토큰은 대시보드 메인에서, 이벤트 토큰은 대시보드 > All Settings > Events에서 확인합니다.
    • Install, Open 이벤트 자동 추적은 토큰 발급이 필요하지 않습니다.
  2. 토큰들을 hive_config.xml에 추가합니다.
    • 앱 토큰, Purchase 이벤트 토큰, Update 이벤트 토큰을 hive_config.xml에 추가합니다. 아래 예제 코드를 참고하세요.
    • Install, Open 이벤트 자동 추적은 hive_config.xml 설정이 필요하지 않습니다.
  3. Adjust 대시보드에서는 앱 스푸핑 방지를 위한 SDK Signature 기능을 제공합니다. 관련 기능을 사용하려면 Adjust와의 계약 사항을 확인해야 합니다. 관련 기능을 사용하려면 키를 발급받아 hive_config.xml secretId, info1, info2, info3, info4에 추가하세요.

Singular, Appsflyer, Firebase Analytics로 이벤트 자동으로 추적하기

  1. 각 어트리뷰션 대시보드에서 키를 발급받습니다. 키 발급 방법에 대해서는 각 어트리뷰션에서 제공하는 대시보드 안내를 참고하세요.
    • Singular: 대시보드에서 SDK Key와 SDK SecretKey를 받습니다.
    • Appsflyer: 대시보드 > 앱 설정에서 Dev 키를 받습니다.
    • Firebase Analytics: 키 발급이 필요하지 않습니다.
  2. 아래 안내를 따라 hive_config.xml에 설정합니다. 아래 예제 코드를 참고하세요.
    • Install: 별도 설정이 필요하지 않습니다.
    • Open: Firebase Analytics 어트리뷰션만 설정이 필요합니다.
    • Update: Singular, Appsflyer, Firebase Analytics 모두 설정을 추가합니다.
    • Purchase: Singular, Firebase Analytics만 설정을 추가합니다.
  3. Hive SDK iOS(Native, Unity, Unreal)에서 AppsFlyer 어트리뷰션을 사용할 경우, Apple AppID 설정을 위해 itunseConnectAppId 값을 설정합니다.

결제 이벤트 발생 시 전송 정보

Hive IAP로 결제를 하면 서드 파티 모바일 앱 어트리뷰션에 자동으로 결제 이벤트를 전송합니다. 이 때 전송하는 정보는 아래와 같습니다.

EVENT NAME PARAMETER 비고
Adjust Purchase
  • price
  • currency
  • orderId
  • pid
  • title
  • serverId
  • quantity
  • revenue
  • pid: product id
  • revenue: price * quantity
Singular __iap__
  • r
  • pk
  • pcc
  • pn
  • pc
  • pq
  • pp
  • market
  • server
  • psku
  • pvid
  • haid
  • r: revenue (price * quantity)
  • pk: order id
  • pcc: currency
  • pn: title
  • pc: Inapp_Item
  • pq: quantity
  • pp: price
  • market: google
  • server:serverId
  • psku: product id
  • pvid: Hive PlayerID
  • haid: Hive Analytics ID
AppsFlyer Purchase
  • af_price
  • af_currency
  • af_quantity
  • af_content
  • af_receipt_id
  • custsom_product_id
  • af_content_type
  • af_revenue
  • custsom_product_id: product id
  • af_content: product description
  • af_content_type: title
  • af_revenue: price * quantity
Firebase Analytics Purchase
  • price
  • currency
  • orderId
  • pid
  • title
  • serverId
  • quantity
  • revenue
  • pid: product id
  • revenue: price * quantity

이벤트 수동 추적

Hive SDK에서는 자동으로 추적하는 이벤트(Install, Open, Update, Purchase) 외에도 필요한 이벤트를 각 어트리뷰션 대시보드에 등록하여 수동으로 추적할 수 있습니다. 예를 들어 게임 튜토리얼 완료 시(TutorialComplete) 또는 특정 미션 달성 시(MissionClear)와 같이 특정한 상황을 추적할 수 있습니다. 이벤트 수동 추적은 이벤트 자동 추적 설정을 완료한 다음에 진행해야 합니다.

Adjust로 이벤트 수동으로 추적하기

  1. 원하는 커스텀 이벤트를 Adjust 대시보드에 등록하고 앱 토큰과 이벤트 토큰을 얻어야 합니다. 앱 토큰은 대시보드 메인에서, 이벤트 토큰은 대시보드 > All Settings > Events에서 확인합니다. 토큰 발급 방법에 대해서는 Adjust에서 제공하는 대시보드 안내를 참고하세요.
  2. 앱 토큰과 이벤트 토큰을 hive_config.xml에 추가합니다. 아래 예제 코드를 참고하세요.
  3. Adjust 대시보드에서는 앱 스푸핑 방지를 위한 SDK Signature 기능을 제공합니다. 관련 기능을 사용하려면 Adjust와의 계약 사항을 확인해야 합니다. 관련 기능을 사용하려면 키를 발급받아 hive_config.xml secretId, info1, info2, info3, info4에 추가하세요.
  4. Analytics API sendEvent()를 호출하여 이벤트를 전송합니다. 이벤트 전송 시 hive_config.xml에 추가한 event name을 사용합니다. name은 API 호출 시 파라미터로 사용하며 value는 각 어트리뷰션의 대시보드에서 확인할 수 있습니다.
    • Analytics.sendEvent("TutorialComplete");
    • Analytics.sendEvent("MissionClear");

Singular, Appsflyer, Firebase Analytics로 이벤트 수동으로 추적하기

  1. 각 어트리뷰션 대시보드에서 키를 발급받습니다. 키 발급 방법에 대해서는 각 어트리뷰션에서 제공하는 대시보드 안내를 참고하세요.
    • Singular: 대시보드에서 SDK Key와 SDK SecretKey를 받습니다.
    • Appsflyer: 대시보드 > 앱 설정에서 Dev 키를 받습니다.
    • Firebase Analytics: 키 발급이 필요하지 않습니다.
  2. 아래 안내를 따라 hive_config.xml에 설정합니다. 아래 예제 코드를 참고하세요. Hive SDK iOS(Native, Unity, Unreal)에서 AppsFlyer 어트리뷰션을 사용할 경우, Apple AppID 설정을 위해 itunseConnectAppId 값을 설정합니다.
  3. Analytics API sendEvent()를 호출하여 이벤트를 전송합니다. 이벤트 전송 시 hive_config.xml에 추가한 event name을 사용합니다. name은 API 호출 시 파라미터로 사용하며 value는 각 어트리뷰션의 대시보드에서 확인할 수 있습니다.
    • Analytics.sendEvent("TutorialComplete");
    • Analytics.sendEvent("MissionClear");

sendEvent()로 이벤트 전송하기

유저의 행동을 추적할 때 모든 행동을 추적하기 보다는 유저의 행동이 특정 조건을 만족시켰을 때 (예. 튜토리얼 완료) 어트리뷰션에 추적 이벤트를 전송하기를 권장합니다. 유저 행동 추적 이벤트를 전송하려면 Analytics APIsendEvent() 함수를 호출하세요. sendEvent() 함수의 첫 번째 파라미터 값으로는 hive_config.xml 설정 파일에 정의한 <event> 요소의 name 속성 값을 입력하세요.

다음은 유저가 튜토리얼을 완료했다는 것을 알리기 위한 TutorialComplete 이벤트를 마케팅 어트리뷰션에 전송하는 예제 코드입니다.

Unity®

API Reference: hive.Analytics.sendEvent

C++

API Reference: Analytics::sendEvent

Kotlin

API Reference: Analytics.sendEvent

Java

API Reference: com.hive.Analytics.sendEvent

Swift

API Reference: AnalyticsInterface.sendEvent

Objective-C

API Reference: HIVEAnalytics:sendEvent

광고 매출과 노출 정보 전송하기

게임에서 광고가 노출될 때 광고 플랫폼 종류, 광고 노출 위치, 노출 시점, 노출당 광고 수익 등을 측정하여 서드 파티 어트리뷰션으로 전송할 수 있습니다. 이러한 광고 매출, 노출 정보를 전송하려면 Analytics API의 sendAdRevenueEvent() 함수를 호출하세요. 다음은 광고 노출 정보를 마케팅 어트리뷰션에 전송하는 예제 코드입니다.

Unity®

C++

Java

Kotlin

Objective-C

Swift

광고 노출 정보

광고 노출 정보 전송 시 서드 파티 모바일 앱 어트리뷰션에 전송하는 정보는 아래와 같습니다.

  Adjust Singular AppsFlyer Firebase Analytics
PARAMETER
  • Ad Platform
  • Ad Unit Id
  • Ad Placement
  • Revenue
  • Currency
  • Ad Platform
  • Ad Unit Id
  • Ad Placement
  • Ad Type
  • Revenue
  • Currency
  • Ad Platform
  • Ad Unit Id
  • Ad Placement
  • Ad Type
  • Revenue
  • Currency
  • Ad Platform
  • Ad Unit Id (Ad Unit Name)
  • Ad Type (Ad Format)
  • Revenue (Value)
  • Currency

참고: 서비스별 요소 속성

Name Description
name 서드 파티 어트리뷰션 이름. 태그 이름과 동일

  • "Adjust"
  • "Singular"
  • "AppsFlyer"
  • "Firebase"
id 서드 파티 어트리뷰션 대시보드에서 발급한 게임 AppID
예. "5725"
key 서드 파티 어트리뷰션 대시보드에서 발급한 게임 앱에 대한 키

예. "ab7b08bdc812dc0c731a846b952a10d3"

secretId Adjust에서 사용하는 특수값으로 Adjust 계약 사항 확인 필요
info1 Adjust에서 사용하는 특수값으로 Adjust 계약 사항 확인 필요
info2 Adjust에서 사용하는 특수값으로 Adjust 계약 사항 확인 필요
info3 Adjust에서 사용하는 특수값으로 Adjust 계약 사항 확인 필요
info4 Adjust에서 사용하는 특수값으로 Adjust 계약 사항 확인 필요
itunseConnectAppId AppsFlyer에서 사용 (iOS)
<event> 요소 속성
Name Description
name 서드 파티 어트리뷰션 대시보드에 등록한 추적용 이벤트 이름
예. "TutorialComplete"
value Hive 클라이언트에서 해당 어트리뷰션으로 전송하는 추적용 이벤트 값

  • Adjust: 이벤트 Token 값
  • Singular: 이벤트 Name 값
  • AppsFlyer: 이벤트 Name 값
  • Firebase: 이벤트 Name 값. 공백이 있으면 안 됨

예. "TutorialComplete"