コンテンツにスキップ

クロスプレイランチャーリモート実行API

概要

クロスプレイランチャーリモート実行APIは、実行中のPCのリストを照会し、クロスプレイランチャーで実行中にゲームが意図せず終了した場合に特定のPCを選択してリモートでゲームを実行する機能を提供します。

主にPCリストクエリアPIPCリモート実行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

リクエストヘッダーサンプル

Content-Type : application/json
Authorization : Bearer b630b963152efa1f97a8c066831222

リクエストボディ

フィールド名 説明 タイプ 必須
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

リクエストヘッダーサンプル

Content-Type : application/json
Authorization : Bearer b630b963152efa1f97a8c066831222

リクエストボディ

フィールド名 説明 必須
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 レスポンス結果メッセージ 文字列

レスポンスボディサンプル

{
    "code" : 100,
    "msg" : "success"
}

レスポンスコード仕様

コード メッセージ 説明
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) の取得に失敗しました (####エラーが発生しました)