维亚开放平台
首页维亚官网
首页维亚官网
联系邮件
微亚盒子
微亚运动大空间
微亚盒子
微亚运动大空间
  1. 微亚盒子
  • 接入前准备
  • 更新日志
  • 游戏币充值记录
    • 查询交易信息
      GET
    • 查询交易信息
      GET
  • 游戏设备
    • 获取机台
      GET
    • 充值 coin
      POST
    • 清理 coin
      POST
    • 获取机台的钱包
      GET
  • 游戏设备卡券
    • 获取游戏设备卡券
      GET
  • 游戏设备二维码
    • 设定机台二维码内容
      POST
  • 事件消息推送
    • 获取事件回调地址
      GET
    • 更新事件回调地址
      POST
  • 门店
    • 获取门店
      GET
    • 获取门店信息
      GET
  • 玩家
    • 注册账号
      POST
  • 游戏对局记录
    • 获取移动对决战局详情
      GET
    • 获取枪王之王战局详情
      GET
    • 获取侏罗纪战局详情
      GET
    • 获取无限之战战局详情
      GET
    • 获取封锁线战局详情
      GET
  • 游戏开局记录
    • 获取游戏记录
      GET
    • 获取游戏机开局数统计
      GET
  • 扣点充值
    • 获取扣点充值订单
    • 获取扣点充值订单详情
  • 登录游戏账号
    • 登录账号
    • 通过机台的 udid 登录账号
  1. 微亚盒子

接收事件消息推送

功能介绍#

终端的某些操作与微亚服务器消息会在微亚服务器通过事件推送的形式通知到开发者在开发者中心处设置的服务器地址,从而开发者可以获取到该信息
开发者服务器接收到事件消息后需响应 httpstatus 为 200,否则将重复推送

接入步骤#

通过 更新事件回调地址 接口设定推送地址
url 参数必须是以 http 或 https 开头,可通过公网访问的地址
aesKey 参数长度固定32位,用于解密接受到的消息

验证接收到消息#

微亚服务器将以json的格式向开发者推送如下信息:
{
  "messageId": "2c0224d2-0184-8d2d-4a05-3a0be5582ad7",
  "nonce": "AYvyNwIYe0RtUnuQVUYMf",
  "timeStamp": 1687170011,
  "ciphertext": "0jTOv5j72hCB2EF8LIXntw==",
  "signature": "546a1cceb14dbe3353b86f7cf9b2785b1e028c82"
}
参数说明
messageId消息Id,如果消息发送失败,会重试发送。可用于消息去重
nonce随机字符
timeStamp消息生成时间,utc
ciphertext消息密文
signature消息签名
签名验证步骤
1.通过 sha1(AesKey+timeStamp+nonce+ciphertext) 计算出 dev_signature
2.比较 dev_signature 与消息体中的 signature 一致则验证通过,否则验证不通过

消息解密#

C# 解密代码示例
Java 解密代码示例

依据消息内容实现业务#

密文内容 ciphertext 通过解密后,将得到如下消息体
{
   eventType = 20001
}

事件列表#

20001 终端程序已启动#

如果终端软件重新启动会再次发送该事件
{
   eventType: 20001
}

20002 终端程序接收到扫码#

{
   eventType: 20002,
   terminalData: {}
}
terminalData 说明
字段说明
FromUdid机台Id
Data扫描内容

30001 游戏对局开始#

{
   eventType: 30001,
   playInfo: {}
}
playInfo 说明
字段说明
id记录Id
createdTime记录保存时间,utc 时间
udid机台udid
merchantId门店id
memberId玩家Id,游客玩家固定Id为GUEST
gameName游戏英文名称。名称对应关系:DinoCrysis-侏罗纪、DoubleTap-枪王之王、OverKill-移动对决、ZombieCrisis-封锁线、InfinityWar-无限之战

30003 游戏对局结束#

{
   eventType: 30002,
   gameBattle: {}
}
gameBattle 说明
标题
字段类型说明
idnumber推送记录Id
rawIdstring战局记录Id
gameTypestring游戏英文名称。名称对应关系:DinoCrysis-侏罗纪、DoubleTap-枪王之王、OverKill-移动对决、ZombieCrisis-封锁线、InfinityWar-无限之战
createAtdatetime成绩上传时间。时间值带有时区,2024-01-04T11:46:37+00:00
提示
如果在游戏对局中途(游戏启动时、游戏进行中)被退出,可能不会推送30001 游戏对局开始、30003 游戏对局结束事件。可参考如下实现方式:
1.
实现计费可监听 30001 游戏对局开始
2.
实现游戏排行可监听30003 游戏对局结束,并查询游戏对局成绩
查询游戏成绩#
可通过游戏结束事件消息中的 rawId 调用各游戏 api 查询游戏对局成绩
无限之战:获取无限之战战局详情
移动对决:获取移动对决战局详情
侏罗纪:获取侏罗纪战局详情
枪王之王:获取枪王之王战局详情
封锁线:获取封锁线战局详情

40001 新增店铺#

{
   eventType: 40001,
   merchant: {}
}
merchant 说明
字段说明
id店铺Id
name店铺完整名称
displayName店铺简短名称

40002 新增设备#

{
   eventType: 40002,
   gameConsole: {}
}
gameConsole 说明
字段说明
id装机记录Id
merchantId店铺Id
udid设备udid
gameConsoleAlias设备编号
installationTime装机时间

40003 设备移除#

{
   eventType: 40003,
   gameConsole: {}
}
gameConsole 说明
字段说明
id装机记录Id
merchantId店铺Id
udid设备udid
gameConsoleAlias设备编号
evacuationTime撤机时间

40004 设备余额不足#

{
   eventType: 40004,
   gameConsoleBalanceInsufficient: {}
}
gameConsoleBalanceInsufficient 说明
字段类型说明
dealerIduuid经销商Id
merchantIduuid店铺Id
udidstring设备udid
contentstring提醒内容

扫码关注微亚公众号

微亚作为一家以技术驱动的VR公司自主掌握游戏开发、设备制造、玩家培育、赛事运营各个关键节点,打通线上线下电竞闭环,未来将深耕祖国内地VR电竞市场并创造专属 VR 电竞生态圈。

修改于 2024-12-04 07:42:52
上一页
设定机台二维码内容
下一页
获取事件回调地址
Built with