游戏内弹窗 Webhook
借助阿哈利姆的 LiveOps 构建器,游戏开发者可以设置各种触发条件,当玩家在阿哈利姆游戏枢纽内执行特定操作或进行某些互动时,自动在游戏中显示自定义弹窗。 当玩家满足您在活动中预先设置的触发条件时,阿哈利姆会立即向您的游戏服务器发送 Webhook 请求,其中包含了需要向玩家展示的完整弹窗内容及配置。
您的游戏客户端在收到此 Webhook 通知后,应向目标玩家展示相应的游戏内弹窗界面。 游戏内弹窗的界面设计和用户交互实现应当与您游戏本身的美术风格和操作习惯保持一致。
要求
如需接入阿哈利姆的游戏内弹窗通知功能,请按照以下要求配置您的 Webhook 服务器:
- HTTPS 端点,可接收 POST Webhook 请求。
- 监听由阿哈利姆生成并 签名 的事件。
- 根据接收到的 Webhook 内容参数,在游戏客户端中显示弹窗界面,确保其与游戏本身的设计语言保持一致。
- 当您的服务器成功接收并处理弹窗请求时,应返回 2xx 系列状态码;如遇请求无效或处理失败,则应返回适当的 4xx 或 5xx 状态码。
配置步骤
- 为
ingame.popupWebhook 处理开发一个函数。 - 部署您的端点使其可访问。
- 在 Aghanim 账户中注册您的端点 → 游戏 → Webhook → 新建 Webhook,选择游戏内弹出事件类型。
- 配置一个LiveOps 活动,设置适当的触发条件和弹窗内容 ,使系统能够在满足条件时向玩家发送游戏内弹窗。
查看 游戏内弹窗活动配置详细指南 了解更多配置步骤和最佳实践
或者,您也可以使用 Create Webhook API 方法在阿哈利姆中注册您的端点。
Request Schema
下面是一个 ingame.popup 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": "ingame.popup",
"event_data": {
"player_id": "2D2R-OP3C",
"title": "您好!",
"body": "您好! 点击这里领取您的每日奖励!",
"icon": null,
"url": null
},
"event_time": 1725548450,
"event_id": "whevt_eCacGbJVbvToOgzjXUgOCitkQE",
"idempotency_key": null,
"request_id": "d1593e9c-c291-4004-8846-6679c2e5810b",
"sandbox": false,
"trigger": "liveops.execute_action",
"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": "ingame.popup",
"event_data": {
"player_id": "2D2R-OP3C",
"title": "您好!",
"body": "您好! 点击这里领取您的每日奖励!",
"icon": null,
"url": null
},
"event_time": 1725548450,
"event_id": "whevt_eCacGbJVbvToOgzjXUgOCitkQE",
"idempotency_key": null,
"request_id": "d1593e9c-c291-4004-8846-6679c2e5810b",
"sandbox": false,
"trigger": "liveops.execute_action",
"transaction_id": "whtx_eCacGbJVbvT",
"context": null,
"game_id": "gm_exTAyxPsVwh"
}'
事件 Schema
| 键名 | 类型 | 描述 |
|---|---|---|
event_id | string | 阿哈利姆生成的 唯一事件标识符。 |
game_id | string | 您的游戏在阿哈利姆中的唯一标识符。 |
event_type | string | 事件的类型, ingame.popup 在此情境下。 |
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 | EventContext|null | 事件的相关上下文信息。 |
EventContext Schema
| 键名 | 类型 | 描述 |
|---|---|---|
order | OrderContext|null | 与事件相关的订单信息(如果适用)。 |
player | PlayerContext|null | (可选)玩家信息。如需启用,请在webhook设置中选择“添加玩家上下文”。 |
EventData Schema
| 键名 | 类型 | 描述 |
|---|---|---|
player_id | string | 用来显示弹窗的唯一 玩家 ID,用于玩家身份验证。 |
title | string | 弹窗标题。 |
body | string | 弹窗内容。 |
icon | `string\ | null` |
url | `string\ | null` |
需要技术支持?
联系我们的集成技术团队: integration@aghanim.com