Crossplay Launcher 远程执行API
概述¶
跨平台启动器远程执行API提供了查询正在运行的PC列表的能力,并在使用跨平台启动器运行游戏时,如果游戏意外关闭,可以远程在特定PC上执行。
先决条件¶
- Windows 版本的 Hive SDK v4.24.4.0 或更高版本
- Crossplay Launcher 1.0.16.0 或更高版本
基本操作流程¶
-
为每个游戏设置远程执行使用
Note
目前仅支持手动远程执行使用设置功能,自动设置功能将稍后提供。
- 通过跨平台启动器在Windows PC上启动游戏
- 在游戏中调用PC列表查询API以检索运行跨平台启动器的PC列表
- 在查询结果中,使用PC列表中所选PC的信息调用PC远程执行API
(外部自动登录令牌将传递给所选PC。) - 重新连接到游戏,并通过跨平台启动器使用外部自动登录令牌进行自动登录
PC 列表检索 API¶
这是一个API,用于检索当前通过跨平台启动器运行并能够进行远程执行的PC列表。
Note
- 您可以通过令牌验证 API进行验证,只有有效的请求才能检索PC列表。
请求 URL 和条件¶
部门 | URL 和条件 |
---|---|
商业 URL | https://api-launcherplay.withhive.com/api/pc/list |
沙盒 URL | https://sandbox-api-launcherplay.withhive.com/api/pc/list |
HTTP 方法 | POST |
数据格式 | JSON |
请求头¶
字段名称 | 描述 | 类型 | 必需 |
---|---|---|---|
Content-Type | application/json | 字符串 | 是 |
Authorization | Bearer 令牌密钥 (成功登录后返回的令牌密钥) | 字符串 | 是 |
请求头示例¶
请求体¶
字段名称 | 描述 | 类型 | 必需 |
---|---|---|---|
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 | 设备信息 | 字符串 |
ㄴ | date | 最后登录日期和时间 (UTC, YYYYmmddHHiiss) | 字符串 |
响应体示例¶
{
"code": 100,
"msg": "success",
"data": [
{
"pc_name" : "pc1",
"did" : "304162817",
"date": "20250210144909"
},
{
"pc_name" : "pc2",
"did" : "304166094",
"date": "20250210144923"
},
...
]
}
响应代码规范¶
代码 | 消息 | 描述 |
---|---|---|
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列表中选择的PC上远程执行,前提是请求了PC列表查询API。
Note
- 此 API 将外部自动登录令牌传递给所选 PC,实际的远程执行(游戏访问和自动登录)通过跨平台启动器进行。
- 只有通过 令牌验证 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信息对应的连接超过两个则失败 └ 注意:当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)失败(#### 错误发生) |