玩家与进入游戏

创建玩家、签发启动地址

玩家与进入游戏 ​

创建或取得玩家 ​

POST {API_URL}/v1/players

商户用自己的玩家 ID 换取平台的 player_id。同一个 external_player_id 永远对应同一个 player_id,所以可以在每次进入游戏前都调用一次。

参数必填类型说明
external_player_id是string商户侧玩家 ID,1–128 字节(UTF-8),商户下唯一
display_name否string显示名,最多 160 字节(UTF-8)
json
{ "external_player_id": "merchant-user-1", "display_name": "Alice" }

成功响应 ​

新建返回 201,已存在返回 200:

json
{
  "data": {
    "player_id": "0192f6a4-3c1e-7b2a-9d40-5e8f1a2b3c4d",
    "external_player_id": "merchant-user-1",
    "display_name": "Alice"
  },
  "request_id": "0192f6a4-req-0001"
}
  • 玩家已存在时,不会用新的 display_name 覆盖旧值。
  • external_player_id 就是单一钱包回调中用来定位玩家的 ID,请使用稳定、不会变化的值,不要用昵称或手机号。
  • 创建玩家不会创建钱包,钱包在首次进入游戏或首次资金交易时创建。

请求进入游戏 ​

POST {API_URL}/v1/launches

为某个玩家签发一次性的游戏地址。

参数必填类型说明
player_id是string平台玩家 ID
game_id是string游戏 ID,来自游戏列表
currency是string本次游戏使用的币种
locale否string语言标签,默认 en。应在游戏的 languages 之中
return_url否string玩家退出游戏后返回的地址,必须在平台登记的范围内,最长 2048
display_mode否stringfull(默认)、compact 或 landscape,须为游戏支持的模式
json
{
  "player_id": "0192f6a4-3c1e-7b2a-9d40-5e8f1a2b3c4d",
  "game_id": "0192f6a5-1111-7aaa-8bbb-000000000001",
  "currency": "USD",
  "locale": "zh-Hans",
  "return_url": "https://www.example.com/lobby"
}

成功响应 201 ​

字段类型说明
launch_idstring本次启动的 ID
launch_urlstring游戏地址,直接交给玩家的浏览器打开
expires_atstring地址过期时间
json
{
  "data": {
    "launch_id": "0192f6f4-6e7d-7091-b2c3-9d0e1f2a3b4c",
    "launch_url": "https://game.example.com/releases/hilo/15/index.html#mj_launch=AbC…",
    "expires_at": "2026-09-23T08:01:00Z"
  },
  "request_id": "0192f6f4-req-0001"
}

使用 launch_url ​

  • 原样打开:用跳转、新窗口或 iframe 打开都可以,但不要修改、拼接或解析地址。票据放在 #mj_launch 片段中,不会发到任何服务器的访问日志里。
  • 尽快打开:地址在 60 秒内有效,并且只能使用一次。不要预先生成、缓存或分享给其他玩家。
  • 刷新和断线重连不需要重新签发:游戏客户端会用已有的会话自动恢复。只有玩家重新从商户大厅进入游戏时,才需要再调用一次本接口。
  • 重新签发要换 Idempotency-Key:用同一个幂等键重放,只会拿回原来那个(可能已过期的)地址。

失败响应 ​

HTTPerror.code说明
404RESOURCE_NOT_FOUND玩家或游戏不存在,或不属于当前商户
403LAUNCH_DENIED当前不允许该玩家进入,例如玩家或商户已被停用
409IDEMPOTENCY_CONFLICT同一个 Idempotency-Key 已用于不同内容的请求
422GAME_NOT_AVAILABLE游戏未授权、维护中或暂不可启动
422CURRENCY_NOT_SUPPORTED币种未开通
422VALIDATION_FAILED参数不合法,例如 return_url 不在登记范围、display_mode 游戏不支持

最后更新于 13小时前