Crossplay Launcher 遠端執行 API
概述¶
Crossplay启动器远程执行API提供了一个功能,用于查询正在运行的PC列表,并选择特定的PC以在游戏意外终止时远程执行游戏。
先决条件¶
- 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 (成功登录后返回的令牌密钥) | 字符串 | 是 |
请求头示例¶
请求体¶
字段名称 | 描述 | 类型 | 必需 |
---|---|---|---|
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 (成功登录后返回的令牌密钥) | 字符串 | 是 |
请求头示例¶
请求体¶
字段名称 | 描述 | 类型 | 必需 |
---|---|---|---|
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 | 响应结果消息 | 字符串 |
响应主体示例¶
响应代码规范¶
代码 | 消息 | 描述 |
---|---|---|
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)失败(发生了####错误) |