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