クロスプレイランチャーリモート実行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) の取得に失敗しました (#### エラーが発生しました) |