주요 콘텐츠로 건너뛰기

분석 웹훅

Aghanim의 분석 웹훅은 게임 허브와 Checkout 페이지에서 발생하는 프론트엔드 전용 플레이어 상호작용을 게임에 알립니다.

이러한 웹훅은 상호작용이 발생하는 위치에 따라 두 개의 네임스페이스로 구성됩니다:

  • analytics.hub.* — 게임 허브의 이벤트
  • analytics.checkout.* — Checkout 페이지의 이벤트

이 웹훅은 Game → Webhooks에서 선택할 수 있는 분석 이벤트 이벤트를 통해 활성화됩니다.

요구 사항

Aghanim의 분석 이벤트 웹훅을 사용하려면 웹훅 서버를 다음과 같이 구성해야 합니다:

  • POST 웹훅 요청을 수락하는 HTTPS 엔드포인트.
  • Aghanim이 생성하고 서명한 이벤트를 수신합니다.
  • 이벤트가 성공적으로 처리되면 2xx 상태 코드로 응답하고, 거부 또는 오류가 발생하면 4xx 또는 5xx로 응답합니다.

구성

  1. analytics.* 웹훅 처리를 위한 함수를 개발합니다.
  2. 엔드포인트를 사용 가능하게 설정하세요.
  3. 분석 이벤트 유형을 선택하여 Aghanim 계정 → GameWebhooksNew Webhook에서 엔드포인트를 등록합니다.

대안으로, Webhook 생성 API 방법을 사용하여 Aghanim 내에서 엔드포인트를 등록할 수 있습니다.

Webhook 일괄 내보내기

분석 이벤트는 높은 트래픽 볼륨을 생성할 수 있습니다. 개별 HTTP 요청 대신 다운로드 가능한 JSONL 파일로 이벤트를 수신하려면 배치 모드를 활성화하는 것을 고려하세요.

요청 스키마

아래는 예시입니다 analytics.hub.buy_click 웹훅 요청:

POST /your/webhook/uri HTTP/1.1
Content-Type: application/json
Host: your-webhook-endpoint.com
User-Agent: Aghanim/0.1.0
X-Aghanim-Signature: 2e45ed4dede5e09506717490655d2f78e96d4261040ef48cc623a780bda38812
X-Aghanim-Signature-Timestamp: 1725548450

{
"event_type": "analytics.hub.buy_click",
"event_data": {
"name": "hub.buy_click",
"action": "event",
"label": "",
"user_id": "usr_eymySUreClx",
"player_id": "2D2R-OP3C",
"order_id": null,
"device": {
"type": "mobile",
"model": "iPhone"
},
"country": "US",
"referrer": "https://manabuff.com/store",
"useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36",
"tz_offset": 5
},
"event_time": 1725548450,
"event_id": "whevt_eCacGbJVbvToOgzjXUgOCitkQE",
"idempotency_key": null,
"request_id": "d1593e9c-c291-4004-8846-6679c2e5810b",
"sandbox": false,
"trigger": "hub.interaction",
"transaction_id": "whtx_eCacGbJVbvT",
"context": null,
"game_id": "gm_exTAyxPsVwh"
}

이벤트 스키마

Key유형설명
event_idstringAghanim에 의해 생성된 고유 이벤트 ID.
game_idstringAghanim 시스템에서의 귀하의 게임 ID.
event_typestring이벤트의 유형, analytics.hub.buy_click 이럴 경우.
event_timenumber유닉스 에포크 시간으로 된 이벤트 날짜.
event_dataEventData이벤트 특정 데이터가 포함되어 있으며, 상속된 객체에 대한 가능한 키가 포함됩니다.
idempotency_keystring|null웹훅 작업이 재시도되어도 한 번만 실행되도록 보장합니다. 일 수 있습니다 null 이벤트 유형에 따라 달라집니다.
request_idstring|null이벤트가 API 요청에 의해 트리거된 경우, 요청 ID가 포함됩니다.
sandboxboolean이 이벤트가 샌드박스 게임 환경에서 전송되었는지를 표시합니다.
triggerstring|nullThe trigger that caused the event to be sent.
transaction_idstringAghanim이 생성한 거래 ID입니다. 이 ID는 동일한 거래 내에서 발생한 여러 이벤트에서 동일할 수 있습니다.
contextobject|null이벤트에 대한 컨텍스트 정보.

EventData 스키마

필드유형설명
name문자열분석 이벤트 이름(예: hub.sign_up, hub.buy_click, checkout.submit_payment_form)
action문자열상호작용 액션(event, click, submit, open, close, error)
labelstring\null
user_id문자열Aghanim 사용자 ID
player_id문자열게임의 플레이어 ID
order_idstring\null
device디바이스디바이스 정보
country문자열플레이어의 국가 코드(예: US, DE)
referrer문자열트래픽 소스 URL. 비어 있을 수 있음
useragent문자열브라우저 사용자 에이전트 문자열
tz_offsetnumberUTC로부터의 플레이어 시간대 오프셋(시간)

Device 스키마

필드유형설명
type문자열mobile 또는 desktop
model문자열가능한 경우 디바이스 모델(예: iPhone, Android). 비어 있을 수 있음

게임 허브 이벤트

게임 허브에서의 플레이어 상호작용에 의해 트리거되는 이벤트.

이벤트설명
analytics.hub.buy_click플레이어가 구매를 시작함
analytics.hub.free_item_claimed플레이어가 무료 아이템을 수령함
analytics.hub.login플레이어가 허브에 로그인함
analytics.hub.sign_up플레이어가 허브에서 등록함

Checkout 이벤트

Checkout 페이지에서의 플레이어 상호작용에 의해 트리거되는 이벤트.

이벤트설명
analytics.checkout.back_game플레이어가 게임으로 다시 이동함
analytics.checkout.back_store플레이어가 스토어로 다시 이동함
analytics.checkout.pageexit플레이어가 Checkout 페이지를 종료했습니다
analytics.checkout.pagehide플레이어가 Checkout 페이지에서 벗어났습니다
analytics.checkout.pageshow플레이어가 Checkout 페이지로 돌아왔습니다
analytics.checkout.pageview플레이어가 Checkout 페이지를 열었습니다
analytics.checkout.submit_payment_form플레이어가 결제 양식을 제출함

도움이 필요하세요?
통합팀에 문의하십시오 [email protected]