분석 웹훅
Aghanim의 분석 웹훅은 게임 허브와 Checkout 페이지에서 발생하는 프론트엔드 전용 플레이어 상호작용을 게임에 알립니다.
이러한 웹훅은 상호작용이 발생하는 위치에 따라 두 개의 네임스페이스로 구성됩니다:
analytics.hub.*— 게임 허브의 이벤트analytics.checkout.*— Checkout 페이지의 이벤트
이 웹훅은 Game → Webhooks에서 선택할 수 있는 분석 이벤트 이벤트를 통해 활성화됩니다.
요구 사항
Aghanim의 분석 이벤트 웹훅을 사용하려면 웹훅 서버를 다음과 같이 구성해야 합니다:
- POST 웹훅 요청을 수락하는 HTTPS 엔드포인트.
- Aghanim이 생성하고 서명한 이벤트를 수신합니다.
- 이벤트가 성공적으로 처리되면 2xx 상태 코드로 응답하고, 거부 또는 오류가 발생하면 4xx 또는 5xx로 응답합니다.
구성
analytics.*웹훅 처리를 위한 함수를 개발합니다.- 엔드포인트를 사용 가능하게 설정하세요.
- 분석 이벤트 유형을 선택하여 Aghanim 계정 → Game → Webhooks → New Webhook에서 엔드포인트를 등록합니다.
대안으로, Webhook 생성 API 방법을 사용하여 Aghanim 내에서 엔드포인트를 등록할 수 있습니다.
Webhook 일괄 내보내기
분석 이벤트는 높은 트래픽 볼륨을 생성할 수 있습니다. 개별 HTTP 요청 대신 다운로드 가능한 JSONL 파일로 이벤트를 수신하려면 배치 모드를 활성화하는 것을 고려하세요.
트리거 값
| 값 | 발행 | 설명 |
|---|---|---|
hub.interact | analytics.hub.* | 플레이어가 게임 허브를 조작했습니다(가입, 로그인, 구매 클릭 등). |
checkout.interact | analytics.checkout.* | 플레이어가 Checkout 페이지를 조작했습니다(페이지뷰, 폼 제출 등). |
test | 모든 분석 이벤트 | 대시보드에서 "테스트 이벤트 보내기"를 사용할 때. |
분석 이벤트가 다른 이벤트 유형과 어떻게 관련되는지에 대한 전체 이벤트 및 트리거 매트릭스를 참조하세요.
요청 스키마
아래는 예시입니다 analytics.hub.buy_click 웹훅 요청:
- HTTP
- cURL
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.interact",
"transaction_id": "whtx_eCacGbJVbvT",
"context": null,
"game_id": "gm_exTAyxPsVwh"
}
curl "https://your-webhook-endpoint.com/your/webhook/uri" \
-X POST \
-H "Content-Type: application/json" \
-H "User-Agent: Aghanim/0.1.0" \
-H "X-Aghanim-Signature: 2e45ed4dede5e09506717490655d2f78e96d4261040ef48cc623a780bda38812" \
-H "X-Aghanim-Signature-Timestamp: 1725548450" \
-d '{
"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.interact",
"transaction_id": "whtx_eCacGbJVbvT",
"context": null,
"game_id": "gm_exTAyxPsVwh"
}'
이벤트 스키마
| Key | 유형 | 설명 |
|---|---|---|
event_id | string | Aghanim에 의해 생성된 고유 이벤트 ID. |
game_id | string | Aghanim 시스템에서의 귀하의 게임 ID. |
event_type | string | 이벤트의 유형, analytics.hub.buy_click 이럴 경우. |
event_time | number | 유닉스 에포크 시간으로 된 이벤트 날짜. |
event_data | EventData | 이벤트 특정 데이터가 포함되어 있으며, 상속된 객체에 대한 가능한 키가 포함됩니다. |
idempotency_key | string|null | 웹훅 작업이 재시도되어도 한 번만 실행되도록 보장합니다. 일 수 있습니다 null 이벤트 유형에 따라 달라집니다. |
request_id | string|null | 이벤트가 API 요청에 의해 트리거된 경우, 요청 ID가 포함됩니다. |
sandbox | boolean | 이 이벤트가 샌드박스 게임 환경에서 전송되었는지를 표시합니다. |
trigger | string|null | The trigger that caused the event to be sent. |
transaction_id | string | Aghanim이 생성한 거래 ID입니다. 이 ID는 동일한 거래 내에서 발생한 여러 이벤트에서 동일할 수 있습니다. |
context | object|null | 이벤트에 대한 컨텍스트 정보. |
EventData 스키마
| 필드 | 유형 | 설명 |
|---|---|---|
name | 문자열 | 분석 이벤트 이름(예: hub.sign_up, hub.buy_click, checkout.submit_payment_form) |
action | 문자열 | 상호작용 액션(event, click, submit, open, close, error) |
label | string\ | null |
user_id | 문자열 | Aghanim 사용자 ID |
player_id | 문자열 | 게임의 플레이어 ID |
order_id | string\ | null |
device | 디바이스 | 디바이스 정보 |
country | 문자열 | 플레이어의 국가 코드(예: US, DE) |
referrer | 문자열 | 트래픽 소스 URL. 비어 있을 수 있음 |
useragent | 문자열 | 브라우저 사용자 에이전트 문자열 |
tz_offset | number | UTC로부터의 플레이어 시간대 오프셋(시간) |
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.payment_method.select | 플레이어가 결제 방법을 선택할 때 트리거됩니다 |
analytics.checkout.payment_method.close | 플레이어가 결제 방법을 닫을 때 트리거됩니다 |
analytics.checkout.submit_payment_form | 플레이어가 결제 양식을 제출함 |
도움이 필요하세요?
통합팀에 문의하십시오 integration@aghanim.com