您尚未登录

登录

推荐您使用PC浏览器访问

确定
  • 开发者中心
  • >
  • 云游戏
  • >
  • OpenAPI文档
  • >
  • 游戏服务端回调



海马云游戏服务端回调管理 API文档V0.5

海马云游戏服务端回调管理

游戏服务端回调接口

阅读对象

本文阅读对象:接入商集成海马云游戏服务系统涉及的开发、测试及运维等相关人员。

名词术语

接入商:使用海马云游戏服务的商家。

应用场景

海马云游戏服务在游戏开始、游戏切换分辨率、游戏结束时,会通过回调接口将相关信息主动通知给接入商。

使用说明

在本接口中,海马云游戏服务为主动发起方,接入商为被动接收方,报文采用明文方式进行传输。

若需使用本接口,接入商需提前准备一个能接受 post 请求的服务接口,并将服务的 URL 地址提供给海马云游戏,接入商需要保证所提供服务的可用性、稳定性和约定的服务能力。

Request Information

URL 请联系海马云售前经理
Method POST
Content-Type application/json; charset=UTF-8
Accept application/json

报文参数

主体属性说明

名称 类型 是否必填 参数说明 示例值
bid String Required 接入商ID c5d240c71fa
cid String Required 本次用户使用云游戏服务的唯一标识 149811223
pkgName String Required 游戏包名称 com.xx.yy
pkgVersion String Required 游戏包版本 1.1.1
pkgChannel String Optional 游戏包的渠道号,用于区分同一个游戏包名,不同的渠道包 1001
ip String Required 用户的IP地址 11.11.11.11
clientType String Required 客户端设备类型 1: PC Native 2: Android 3: Web 4: IOS 5: MAC 6: IOS_H5 7: Android_H5 8: TV 7
protoData String Optional 用户申请云游戏时带入的透传参数,编码要求:BASE64 长度限制:小于 2048 字符 BASE6编码字符串
type String Required 消息类型:StreamingStarted:游戏开始 StreamingStopped:游戏结束 StreamingResolutionChanged:游戏切换分辨率 StreamingStarted
event NotifyEvent Required 回调事件内容,具体定义参考下文NotifyEvent定义

NotifyEvent结构说明

StreamingStarted:游戏开始事件

名称 类型 是否必填 参数说明 示例值
timestamp Long Required 事件发生时间戳(单位:毫秒) 1575705973040

StreamingStopped:游戏结束事件

名称 类型 是否必填 参数说明 示例值
timestamp Long Required 事件发生时间戳(单位:毫秒) 1575705973040
playInterval Long Required 游戏过程时长(单位:秒) 60
stopCode String Required 游戏退出原因code 详见下文stopCode属性说明 0000
stopMessage String Required 游戏退出原因说明 用户正常退出

StreamingResolutionChanged:游戏切换分辨率事件

名称 类型 是否必填 参数说明 示例值
from String Required 变更前分辨率ID 2
to String Required 变更后分辨率ID 3
result Boolean Required 变更结果:成功:true 失败:false true

stopCode & stopMessage说明

stopCode stopMessage 描述
0000 用户正常退出 用户正常退出
0001 SDK和服务端长连接心跳超时 SDK 每20秒给服务端发送一个 Heartbeat,如果服务端连续3次未收到 Heartbeat,则认为 SDK 已经发生异常,自动释放 ARM 实例。
0002 SDK和服务端长连接断开超时 服务端检测到长连接断开后在1分钟内没有收到SDK的重新建立连接请求,则认为SDK发生异常,自动释放ARM实例。
0003 游戏长时间无操作超时 用户在操作游戏时,在指定时长内没有操作,主动释放ARM实例。
0004 流服务崩溃 流服务连续发生 3 次崩溃之后,服务端认为流服务发生异常,会主动释放 ARM 实例,并通过长连接给 SDK 发送异常消息。
0005 游戏崩溃 游戏崩溃后,服务端会自动重新拉起游戏,但是如果游戏连续崩溃3次后,服务端认为游戏进入不可玩状态,会主动释放 ARM 实例,并通过长连接给 SDK 发送异常信息。
0006 ARM实例异常 ARM 实例发生系统异常,不能正常提供服务。
0007 内部错误 后端服务内部错误导致的自动释放 ARM 实例,例如 IO 异常等。

示例报文

StreamingStarted报文示例

{
  "bid": "455r66e7e3", 
  "cid": "5641105047", 
  "clientType": "2", 
  "event": {
    "timestamp": 1575648241051
  }, 
  "ip": "11.11.11.11", 
  "pkgName": "com.xx.yy.zz", 
  "pkgVersion": "16.0.37060", 
  "protoData": "eyJhZGRyZXNzIjoiIiwiYXBwVHlwZSI6IjEiLCJicmFuZCI6Ikxlbm92
  byIsImNhcnJpZXIiOiIiLCJjaGFubmVsSWQiOiI0MDI1Nzc0MzE1MyIsImNpdHkiOiIiLC
  JjbGllbnRJcCI6IjE5sdfMi4xNjguMS4zIiwiZGV2aWNlSWQiOiJiNmVkOWE3NDZjODMyN
  GRjIiwiZ2FtZUsdflkIjoiNjAwMDA0MTk0IiwiZ2FtZVNlc3Npb25JZCI6IjE1NzU2NDgy
  MzE1MjE1NmRlODVlOC02M2ZmLTQxYjMtYjg5ZC00ODlhNWRmNTM0MGMiLCJnYW1lVHlwZS
  I6IjEiLCJpbWVpIjoiMDAwMDAwMDAwMDAwIiwibW9kZWwiOiJMZW5vdm8gVEItODgwNEYi
  LCJuZXR3bsdf3JrIjoiNCIsInBob25lIjoiIiwicmVhbEFwcFZlcnNpb24iOiIxLjEwLjE
  uMSIsInJlc2U1IjoiMCIsInJlc2U2IjoiLTEiLCJyZXNlNyI6IjE1NzU2NDgyMzE1MjE1N
  mRlODVlOC02M2ZmLTQxYjMtYjg5ZC00ODlhNWRmNTM0MGMiLCJzY3JlZW4iOiIxOTIwKjE
  xMDQiLCJzeXN0ZW1WZXJzaW9uIjoiNy4xLjEiLCJ1aWQiOiIiLCJ1c2VySWRUeXBlIjoiM
  CIsInZlcnNpb24iOiIxLjAuMS4zIn0=", 
  "type": "StreamingStarted"
}

StreamingStopped报文示例

{
  "bid": "1e2153666c3", 
  "cid": "5435074621", 
  "clientType": "2", 
  "event": {
    "playInterval": 3821, 
    "timestamp": 1575648094342, 
    "stopCode": "0000", 
    "stopMessage": "用户正常退出"
  }, 
  "ip": "11.11.11.11", 
  "pkgName": "com.xx.yy.zz", 
  "pkgVersion": "1.1.62", 
  "protoData": "eyJhZGRyZXNzIjoiIiwiYXBwVHlwZSI6IjEiLCJicmFuZCI6IkhPTk9S
  IiwiY2FycmllciI6IuS4reWbveenu+WKqCIsImNoYW5uZWxJZCI6IjQwsdfsMjk2NTM0Nj
  gxIiwiY2l0eSI6IiIsImNsaWVudElwIjoiMTkyLjE2OC4wLjEwNCIsImRldmljZUlkIjoi
  NGVlMDQ5NTk4YWYxMWVkYSIsImdhbWVJZCI6IjUwMDAwMDAzNSIsImdhbWVTZXNzaW9uSW
  QiOiIxNTc1NjQ0MjYzMjg5NjM4MmNmMDgtYzZhOS00MjI4LWI2MmYtZTA1YjlmYTBkYzZj
  IiwiZ2FtZVR5cGUiOiIxIiwiaW1laSI6Ijg2MTAxMjAzMzc0NjAxMCIsIm1vZGVsIjoiQ0
  FNLUFMMDAiLCJuZXR3asdfb3JrIjoiNCIsInBob25lIjoiMTM5NzIxNjY3NjEiLCJyZWFs
  QXBwVmVyc2lvbiI6IjEuMTEuMS4yIiwicmVzZTUiOiIwIiwicmVzZTYiOiIyOCIsInJlc2
  U3IjoiMTU3NTY0NDI2MzI4OTYzODJjZjA4LWM2YTktNDIyOC1iNjJmLWUwNWI5ZmEwZGM2
  YyIsInNjcmVlbiI6IjExOTYqNzIwIiwic3lzdGVtVmVyc2lvbiI6IjYuMCIsInVpZCI6Ij
  E3NzQ2MzAxNjc5NyIsInVzZXJJZFR5cGUiOiIwIiwidmVyc2lvbiI6IjEuMC4xLjQifQ==", 
  "type": "StreamingStopped"
}

StreamingResolutionChanged报文示例

{
  "bid": "54136667ec3", 
  "cid": "985110081", 
  "clientType": "2", 
  "event": {
    "from": "3", 
    "result": true, 
    "to": "6"
  }, 
  "ip": "11.11.11.11", 
  "pkgName": "com.xx.yy.zz", 
  "pkgVersion": "1.1.6", 
  "protoData": "adefaGRyZXNzIjoiIiwiYXBwVHlwZSI6IjEiLCJicmFuZCI6InhpYW9t
  aSIsImNhcnJpZXIiOiLkuK3lm73np7vliqgiLCJjaGFubmVsSWQiOiI0MDI5NjUzNDY4NS
  IsImNpdHkiOiIiLCJjbGllbnRJcCI6ImZlODA6OmYwODE6MjdmZjpmZTBhOjgzNDUiLCJk
  ZXZpY2VJZCI6IjZlMjMyYjQxYzA2Yzc2NWMiLCJnYW1lSWQiOiI2MDAwMDE1ODUiLCJnYW
  1lU2Vzc2lvbklkIjoiMTU3NTY0OTM0MDIwOTI3MzUxYzBiLTQ3ZGQtNDQ0Yi1iM2FlLTYy
  ZmQ5OGY3NzhjYiIsImdhbWVUeXBlIjoiMSIsImltZWkiOiI4NjA5MjEwNDI3MjkxMDkiLC
  Jtb2RlbCI6IlJlZG1pIE5vdGUgNyBQcm8iLCJuZXR3b3JrIjoiMSIsInBob25lIjoiMTgz
  ODQyNTE2NjgiLsdfsWFsQXBwVmVyc2lvbiI6IjEuMTMuMS4yIiwicmVzZTUiOiIxIiwicm
  VzZTYiOiIyOCwxNyIsInJlc2U3IjoiMTU3NTY0OTM0MDIwOTI3MzUxYzBiLTQ3ZGQtNDQ0
  Yi1iM2FlLTYyZmQ5OGY3NzhjYiIsInNjcmVlbiI6IjIyNjEqMTA4MCIsInN5c3RlbVZlcn
  Npb24iOiI5IiwidWlkIjoiMjI1NjYzODYzMDU2IiwidXNlcklkVHlwZSI6IjAiLCJ2ZXJz
  aW9uIjoiMS4wLjEuNSJ9", 
  "type": "StreamingResolutionChanged"
}
×

本篇文章对你是否有帮助?

更多建议

请输入您的建议