クロスプレイランチャーリモート実行API
概要¶
クロスプレイランチャーのリモート実行APIは、実行中のPCのリストを照会し、クロスプレイランチャーでゲームを実行中にゲームが意図せず閉じた場合に特定のPCでリモート実行する機能を提供します。
それはPCリスト取得APIとPCリモート実行APIで構成されています。
前提条件¶
- Hive SDKのWindows版 v4.24.4.0以上
- Crossplay Launcher 1.0.16.0以上
基本的な操作フロー¶
-
各ゲームのリモート実行の使用設定
Note
現在、手動リモート実行の使用設定機能のみがサポートされており、自動設定機能は後で提供される予定です。
- クロスプレイランチャーを通じてWindows PCでゲームを起動する
- ゲーム内でPCリストクエリAPIを呼び出して、クロスプレイランチャーを実行しているPCのリストを取得する
- クエリ結果で、PCリストから選択したPCの情報を使ってPCリモート実行APIを呼び出す
(外部自動ログイントークンが選択したPCに渡されます。) - ゲームに再接続し、外部自動ログイントークンを使用してクロスプレイランチャーを通じて自動ログインを進める
PCリスト取得API¶
これは、現在クロスプレイランチャーを通じて実行中で、リモート実行が可能なPCのリストを取得するためのAPIです。
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 | 文字列 | Y |
Authorization | Bearer トークンキー (成功したログイン後に返されるトークンキー) | 文字列 | Y |
リクエストヘッダーのサンプル¶
リクエストボディ¶
フィールド名 | 説明 | タイプ | 必須 |
---|---|---|---|
appId | ログインしたゲームのAppID | 文字列 | Y |
playerId | 成功したログイン後に返されるV4認証済みPlayerID | 文字列 | Y |
did | 成功したログイン後に返されるDID | 文字列 | Y |
リクエストボディサンプル¶
{
"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 | 失敗(####) | PCリスト取得のためのredisアクセス中にエラー #### が発生しました |
900 | 失敗(curlエラー - ####) | 認証サーバーの検証中にAPI呼び出しでcurlエラーが発生しました(エラー #### が発生しました) |
901 | 失敗(APIエラー - ####) | 認証サーバーの検証に失敗しました(エラー #### が発生しました) |
PCリモート実行API¶
これは、取得したPCリストから選択したPCでリモート実行するためにトークン情報を提供するAPIです。PCリストクエリアPIをリクエストした後に実行されます。
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 | 文字列 | Y |
Authorization | Bearer トークンキー (ログイン成功後に返されるトークンキー) | 文字列 | Y |
リクエストヘッダーのサンプル¶
リクエストボディ¶
フィールド名 | 説明 | タイプ | 必須 |
---|---|---|---|
appId | ログインしたゲームのAppID | 文字列 | Y |
playerId | 成功したログイン後に返されるV4認証のPlayerID | 文字列 | Y |
did | 成功したログイン後に返されるDID | 文字列 | Y |
idpUserId | 成功したログイン後にIDPから提供されるメンバーID | 文字列 | Y |
idpIndex | IDP INDEX情報 1: HIVE 2: Facebook 3: GOOGLE 9: APPLE | 整数 | Y |
selected_did | /api/pc/listクエリ結果から選択されたPCのdid | 文字列 | Y |
selected_pcName | /api/pc/listクエリ結果から選択されたPCのpc_name | 文字列 | Y |
リクエストボディのサンプル¶
{
"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 | 失敗(####) | 選択したPC情報を確認するためにRedisにアクセス中にエラーが発生しました、#### エラー |
504 | 失敗(2つ以上存在) | 選択したPC情報に対応する接続が2つ以上ある場合に失敗します └ 注意: playerId、did、およびPC名の3つすべてが同じ場合に発生します |
505 | 失敗(####) | 選択したPC情報の検証中にエラーが発生しました、#### エラー |
506 | 失敗(####) | 外部自動ログイントークン関連情報の取得中にエラーが発生しました (enc_idpおよびweb_idp_token)、#### エラー |
507 | 失敗(公開エラー) | 選択したPCに外部自動ログイントークンを配信できませんでした ᄂ 注意: メッセージを受信するPCの数が1未満の場合に発生します (redis公開結果) |
508 | 失敗(####) | 選択したPCに外部自動ログイントークンを配信するためにRedisにアクセス中にエラーが発生しました、#### エラー |
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) の取得に失敗しました (#### エラーが発生しました) |