クロスプレイランチャーリモート実行API
概要¶
クロスプレイランチャーリモート実行APIは、実行中のPCのリストを照会し、クロスプレイランチャーで実行中にゲームが意図せず終了した場合に特定のPCを選択してリモートでゲームを実行する機能を提供します。
主にPCリストクエリアPIとPCリモート実行APIで構成されています。
前提条件¶
- Hive SDKのWindowsバージョン v4.24.4.0以上
- Crossplay Launcher 1.0.16.0以上
基本操作フロー¶
-  各ゲームに対してリモート実行を使用するかどうかを設定します Note現在、リモート実行を使用するかどうかの手動設定のみがサポートされており、自動設定機能は将来的に提供される予定です。 
-  Crossplay Launcherを介してWindows PCでゲームを実行します。 
- ゲーム内でPCリストクエリAPIを呼び出して、Crossplay Launcherで実行されているPCのリストを照会します。
- クエリの結果としてPCリストから選択されたPCの情報を使ってPCリモート実行APIを呼び出します。
 (外部自動ログイントークンが選択されたPCに渡されます。)
- ゲームに再接続し、Crossplay Launcherからの外部自動ログイントークンを使用して自動ログインします。
PCリストクエリアPI¶
これは、現在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 | 文字列 | 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 | デバイス情報 | 文字列 | 
レスポンスボディサンプル¶
{
    "code": 100,
    "msg": "success",
    "data": [
        {
            "pc_name" : "pc1",
            "did" : "304162817",
        },
        {
            "pc_name" : "pc2",
            "did" : "304166094"
        },
        ...
    ]
}
レスポンスコード仕様¶
| コード | メッセージ | 説明 | 
|---|---|---|
| 100 | 成功 | 成功 | 
| 101 | 成功(存在しない) | 成功 └ ただし、リモートで実行できるリストがないため、データは返されません | 
| 400 | 失敗(認証パラメータエラー) | 無効なヘッダーパラメータ └ 認証 | 
| 401 | 失敗(メソッドエラー) | 無効なHTTP METHODリクエスト | 
| 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リスト照会APIをリクエストした後に取得したPCリストから選択されたPCをリモートで実行するためにトークン情報を送信するAPIです。
Note
- このAPIは、選択したPCに外部の自動ログイントークンを送信し、実際のリモート実行(ゲームアクセスと自動ログイン)はCrossplay Launcherで動作します。
- これは、トークン検証 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名がすべて同じ場合に発生します。 | 
| 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) の取得に失敗しました (####エラーが発生しました) |