分析 Webhooks
Aghanim 的分析 webhooks 会通知您的游戏:在 Game Hub 和结账页面上发生的仅前端玩家交互。
这些 Webhook 根据交互发生的位置分为两个命名空间:
analytics.hub.*— 来自 Game Hub 的事件analytics.checkout.*— 来自结账页面的事件
此 Webhook 是通过 分析事件 事件激活的,可在 游戏 → Webhooks 中选择。
要求
要使用 Aghanim 的分析事件 Webhook,您需要按以下方式配置 Webhook 服务器:
- HTTPS 端点,可接收 POST Webhook 请求。
- 监听由 Aghanim 生成并签名的事件。
- 如果事件已成功处理,则响应 2xx 状态码;如有拒绝或错误,则用 4xx 或 5xx 状态码。
配置步骤
- 为
analytics.*Webhook 处理开发一个函数。 - 部署您的端点使其可访问。
- 在 Aghanim 账户中选择分析事件类型以注册您的端点 → 游戏 → Webhooks → 新 Webhook。
或者,您也可以使用 Create Webhook API 方法在 Aghanim 中注册您的端点。
Webhook 批量导出
分析事件可能会产生大量流量。 考虑启用批处理模式,以下载的 JSONL 文件形式接收事件,而不是单个 HTTP 请求。
Request schema
下面是一个 analytics.hub.buy_click Webhook 请求示例:
- 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.interaction",
"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.interaction",
"transaction_id": "whtx_eCacGbJVbvT",
"context": null,
"game_id": "gm_exTAyxPsVwh"
}'
事件 Schema
| 键名 | 类型 | 描述 |
|---|---|---|
event_id | string | 阿哈利姆生成的唯一事件标识符。 |
game_id | string | 您的游戏在阿哈利姆中的唯一标识符。 |
event_type | string | 事件的类型, analytics.hub.buy_click 在此情境下。 |
event_time | number | 以 Unix 时间戳表示的事件发生日期。 |
event_data | EventData | 包含事件特定数据的字段,其中可能包含用于继承对象的各种键值。 |
idempotency_key | string|null | 即使出现重试情况,也能确保 Webhook 操作只执行一次。 可以是 null 具体取决于事件类型。 |
request_id | string|null | 如果事件是通过 API 请求触发的,此字段将包含对应的请求 ID。 |
sandbox | boolean | 标识事件是否来自沙盒测试环境的指示器。 |
trigger | string|null | The trigger that caused the event to be sent. |
transaction_id | string | 阿哈利姆生成的交易标识符。在同一交易过程中触发的多个事件可 能共享相同的交易 ID。 |
context | object|null | 事件的相关上下文信息。 |
EventData Schema
| 字段名 | Type | 描述 |
|---|---|---|
name | string | 分析事件名称(例如 hub.sign_up、hub.buy_click、checkout.submit_payment_form) |
action | string | 交互操作(event、click、submit、open、close、error) |
label | string\ | null |
user_id | string | Aghanim 用户 ID |
player_id | string | 您游戏中的 player ID |
order_id | string\ | null |
device | 设备 | 设备信息 |
country | string | 玩家的国家/地区 代码(例如:US、DE) |
referrer | string | 流量来源 URL。 可为空 |
useragent | string | 浏览器 User-Agent 字符串 |
tz_offset | number | 玩家相对于 UTC 的时区偏移(单位:小时) |
设备 Schema
| 字段名 | Type | 描述 |
|---|---|---|
type | string | mobile 或 desktop |
model | string | 设备型号(如可用)(例如:iPhone、Android)。 可为空 |
Game Hub 事件
由玩家在 Game Hub 上的交互触发的事件。
| 事件 | 描述 |
|---|---|
analytics.hub.buy_click | 玩家发起购买 |
analytics.hub.free_item_claimed | 玩家领取了免费物品 |
analytics.hub.login | 玩家登录枢纽 |
analytics.hub.sign_up | 玩家在枢纽完成注册 |
结账事件
由玩 家在结账页面上的交互触发的事件。
| 事件 | 描述 |
|---|---|
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]