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 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_name | 電腦名稱 | 字串 |
ㄴ | 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)(#### 錯誤發生) |