跳转至

Crossplay Launcher 远程执行API

概述

Crossplay启动器远程执行API提供了一个功能,用于查询正在运行的PC列表,并选择特定的PC以在游戏意外终止时远程执行游戏。

它主要由PC列表查询APIPC远程执行API组成。

先决条件

  • Hive SDK v4.24.4.0或更高版本的Windows版本
  • Crossplay Launcher 1.0.16.0或更高版本

基本操作流程

  • 设置是否为每个游戏使用远程执行

    Note

    目前仅支持手动设置是否使用远程执行,自动设置功能将在未来提供。

  • 通过 Crossplay 启动器在 Windows PC 上运行游戏。

  • 在游戏中调用 PC 列表查询 API 查询运行 Crossplay 启动器的 PC 列表。
  • 使用查询结果中从 PC 列表中选择的 PC 的信息调用 PC 远程运行 API
    (外部自动登录令牌将传递给所选的 PC。)
  • 重新连接到游戏,并使用来自 Crossplay 启动器的外部自动登录令牌自动登录。

PC 列表查询 API

这是一个查询当前正在运行Crossplay Launcher并能够进行远程执行的PC列表的API。

Note
  • PC列表查询仅在通过令牌验证 API验证请求有效后才可能。

请求 URL 和条件

类别 URL 和条件
商业 URL https://api-launcherplay.withhive.com/api/pc/list
沙盒 URL https://sandbox-api-launcherplay.withhive.com/api/pc/list
HTTP 方法 PUT
数据格式 JSON

请求头

字段名称 描述 类型 必需
Content-Type application/json 字符串
Authorization Bearer token key
(成功登录后返回的令牌密钥)
字符串

请求头示例

Content-Type : application/json
Authorization : Bearer b630b963152efa1f97a8c066831222

请求体

字段名称 描述 类型 必需
appId 登录游戏的 AppID 字符串
playerId 成功登录后返回的 V4 认证的 PlayerID 字符串
did 成功登录后返回的 DID 字符串

请求体示例

{
    "appId" : "com.com2us.hivesdk.normal.freefull.google.global.android.common",
    "playerId" : "20000023036",
    "did" : "304166094"
}

响应体

字段名称 描述 类型
code 响应结果代码 整数
msg 响应结果消息 字符串
data 可执行PC列表 数组
pc_name PC名称 字符串
did 设备信息 字符串

响应体示例

{
    "code": 100,
    "msg": "success",
    "data": [
        {
            "pc_name" : "pc1",
            "did" : "304162817",
        },
        {
            "pc_name" : "pc2",
            "did" : "304166094"
        },
        ...
    ]
}

响应代码规范

代码 消息 描述
100 成功 成功
101 成功(不存在) 成功
└ 但是,由于没有可以远程执行的列表,因此未返回数据
400 失败(授权参数错误) 无效的头部参数
└ 授权
401 失败(方法错误) 无效的 HTTP 方法请求
402 失败(请求参数错误) 请求参数不存在
403 失败(appId 参数错误) 无效的参数
└ appId
404 失败(playerId 参数错误) 无效的参数
└ playerId
405 失败(did 参数错误) 无效的参数
└ did
500 失败(hiveCertificationKey 错误) 获取相应游戏信息失败(Hive 认证密钥)
501 失败(####) 验证认证服务器时发生其他 #### 错误
502 失败(####) 获取 PC 列表时发生其他 #### 错误
503 失败(####) 访问 Redis 获取 PC 列表时发生 #### 错误
900 失败(curl 错误 - ####) 认证服务器验证正在进行中,调用 API 时发生 curl 错误(发生 #### 错误)
901 失败(api 错误 - ####) 认证服务器验证失败(发生 #### 错误)

PC远程执行API

这是一个API,用于在请求PC列表查询API后,从检索到的PC列表中选择一台PC并远程执行该PC的令牌信息。

Note

  • 此 API 将外部自动登录令牌发送到选定的 PC,实际的远程执行(游戏访问和自动登录)在 Crossplay 启动器中进行。
  • 仅在通过 令牌验证 API 验证后请求有效时可用。

请求 URL 和条件

类别 URL 和条件
商业 URL https://api-launcherplay.withhive.com/api/pc/remoteplay
沙盒 URL https://sandbox-api-launcherplay.withhive.com/api/pc/remoteplay
HTTP 方法 POST
数据格式 JSON

请求头

请求头

字段名称 描述 类型 必需
Content-Type application/json 字符串
Authorization Bearer token key
(成功登录后返回的令牌密钥)
字符串

请求头示例

Content-Type : application/json
Authorization : Bearer b630b963152efa1f97a8c066831222

请求体

字段名称 描述 类型 必需
appId 登录游戏的 AppID 字符串
playerId 成功登录后返回的 V4 认证 PlayerID 字符串
did 成功登录后返回的 DID 字符串
idpUserId 成功登录后 IDP 提供的会员 ID 值 字符串
idpIndex IDP INDEX 信息
1: HIVE
2: Facebook
3: GOOGLE
9: APPLE
整数
selected_did 在 /api/pc/list 查询结果中,选定 PC 的 did 字符串
selected_pcName 在 /api/pc/list 查询结果中,选定 PC 的 pc_name 字符串

请求体示例

{
    "appId" : "com.com2us.hivesdk.normal.freefull.google.global.android.common",
    "playerId" : "20000023036",
    "did" : "304166094",
    "idpUserId" : "68261324",
    "idpIndex" : 1,
    "selected_did" : "304162817",
    "selected_pcName" : "pc1"
}

响应主体

字段名称 描述 类型
code 响应结果代码 整数
msg 响应结果消息 字符串

响应主体示例

{
    "code" : 100,
    "msg" : "success"
}

响应代码规范

代码 消息 描述
100 成功 成功
400 失败(授权参数错误) 无效的头部参数
└ 授权
401 失败(请求参数错误) 请求参数不存在
402 失败(appId参数错误) 无效参数
└ appId
403 失败(playerId参数错误) 无效参数
└ playerId
404 失败(did参数错误) 无效参数
└ did
405 失败(idpUserId参数错误) 无效参数
└ idpUserId
406 失败(idpIndex参数错误) 无效参数
└ idpIndex
407 失败(selected_did参数错误) 无效参数
└ selected_did
408 失败(selected_pcName参数错误) 无效参数
└ selected_pcName
409 失败(方法错误) 请求使用了无效的HTTP方法
500 失败(hiveCertificationKey错误) 获取相应游戏信息失败(Hive认证密钥)
501 失败(####) 在认证服务器验证期间,发生了####错误
502 失败(当前不存在或不可用) 由于所选PC信息当前未连接而失败
503 失败(####) 访问Redis检查所选PC信息时,发生了####错误
504 失败(存在超过2个) 如果与所选PC信息对应的连接超过2个,将会失败。
└ 注意:当playerId、did和PC名称都相同时发生。
505 失败(####) 检查所选PC信息时,发生了####错误。
506 失败(####) 获取与外部自动登录令牌相关的信息(enc_idp和web_idp_token)时,发生了####错误。
507 失败(发布错误) 发送外部自动登录令牌到所选PC失败。
ᄂ 注意:当接收消息的PC数量少于1时发生(redis发布结果值)。
508 失败(####) 访问Redis向所选PC发送外部自动登录令牌时,发生了####错误。
509 失败(####) 向所选PC发送外部自动登录令牌时,发生了####错误。
900 失败(curl错误 - ####) 认证服务器验证进行中,调用API时发生curl错误(发生了####错误)
901 失败(api错误 - ####) 认证服务器验证失败(发生了####错误)
902 失败(curl错误 - ####) 获取外部自动登录令牌的enc_idp值进行中,调用API时发生curl错误(发生了####错误)
903 失败(api错误 - ####) 获取外部自动登录令牌的enc_idp值失败(发生了####错误)
904 失败(curl错误 - ####) 获取外部自动登录令牌(web_idp_token)进行中,调用API时发生curl错误(发生了####错误)
905 失败(api错误 - ####) 获取外部自动登录令牌(web_idp_token)失败(发生了####错误)