ビルドアップロードのワークフロー

注意: このコンテンツはドキュメントのプレビューです。コードサンプルを含む完全なドキュメントは現在作成中です。このページ下部にあるフィードバック方法を利用してフィードバックをお寄せください。

ビルド のワークフローには、バイナリのビルドビルドの取得 (または作成)ビルドファイルのリストの作成ビルドファイルのアップロードビルドバージョンの作成、および ビルドの同期の待機 があります。

ノート: ゲームバイナリのビルドは Multiplay Hosting API の範囲外ですが、バイナリのビルド で簡単なガイダンスを提供します。

ビルドのワークフローを使用する前に、CCD (連続的衝突判定) API キー と以下のロールを持つ UGS サービスアカウントが必要です。

  • Multiplay API ビューアー
  • Multiplay API エディター

プロジェクトロールサービスのアカウント認証 を参照してください。

ノート: このワークフローを通して、使用する Unity プロジェクト ID と環境 ID を参照する必要があります。プロジェクト ID はプロジェクト設定ページ、環境 ID は環境ページで確認できます。

以下の図は、ワークフローの簡略化したバージョンを示しています。

ビルドのワークフローの図

バイナリのビルド

警告: ゲームバイナリのビルドは、Multiplay Hosting API の範囲外です。

ビルドのワークフローの残りの部分に進む前に、ビルドの作成 を計画している場合はゲームバイナリをビルドする必要があります。使用するビルドがすでにある場合は、このステップをスキップし、既存のビルドの取得 に進むことができます。

ゲームバイナリをビルドするプロセスは、ゲームで使用するゲームエンジンと技術スタックによって異なります。Unity Engine を使用している場合は、ビルドの公開ビルドの作成 を参照してください。

ビルドの取得

ビルドを取得するプロセスは、既存のビルドを使用するか 新しいビルドを作成する かによって異なります。

ノート: ビルド ID と CCD (連続的衝突判定) バケット ID は、1 対 1 関係にある別々の ID です。バケット (バケット ID で識別) にはビルドファイルが格納され、ビルド (ビルド ID で識別) はメタデータが入ったバケットからのファイルをラップします。

名前による既存のビルドの取得

List Builds API を使用して、既存のビルド ID を名前で取得できます。ビルド ID がすでにわかっている場合は、ビルド内のファイルのリストの作成 に進みます。

Build List API のレスポンス本体には、各ビルドの ccd.bucketID フィールドに各ビルドの CCD (連続的衝突判定) バケット ID が入っています。使用するビルドの buildID フィールドと ccd.bucketID フィールドの値をメモしておいてください。

以下のコードサンプルは、curl を使用して 既存のビルドを名前で取得する 方法を示しています。

curl -X GET -H "Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS>" https://services.api.unity.com/multiplay/builds/v1/projects/{projectId}/environments/{environmentId}/builds

レスポンス本体の例とパラメーターのドキュメントについては、API のドキュメントを参照してください。

新しいビルドの作成

Create build API を使用して、新しいビルドを作成できます。

Create Build API のレスポンス本体には、作成したビルドの CCD (連続的衝突判定) バケット IDccd.bucketID フィールドに入っています。buildID フィールドと ccd.bucketID フィールドの値をメモしておいてください。

以下のコードサンプルは、curl を使用して 新しいビルドを作成する 方法を示しています。

curl -X POST -H "Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS>" -H "Content-Type: application/json" \
    -d '{"buildName":"Dev Build A", "ccd": {}, "osFamily": "LINUX"}' \
    https://services.api.unity.com/multiplay/builds/v1/projects/{projectId}/environments/{environmentId}/builds

レスポンス本体の例とパラメーターのドキュメントについては、Create build API のドキュメントを参照してください。

ビルド内のファイルのリストの作成

警告: ビルド内のファイルのリストの作成は、Multiplay Hosting API の範囲外です。

ビルド内のファイルのアップロード

リスト内の各ファイルについて CCD create or update entry by path API を使用して、ビルド内のファイルをアップロードできます。

  1. エントリーを作成します。以下のコードサンプルは、curl を使用して エントリーを作成する 方法を示しています。
curl -X POST -H "Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS>" -H "Content-Type: application/json" \
    -d '{"content_type": "<FILE_CONTENT_TYPE>", "signed_url": true}' \
    https://content-api.cloud.unity.com/api/v1/environments/{environmentid}/buckets/{bucketid}/entry_by_path/?path=path/to/file
  1. レスポンスから signed_url をキャプチャします。その後、ファイルのコンテンツをこの URL にアップロードできます。以下のコードサンプルは、curl を使用してファイルをアップロードする方法を示しています。
curl -X PUT -H "Content-Type: <FILE_CONTENT_TYPE>" --upload-file path/to/file \
<signed_url>

レスポンス本体の例とパラメーターのドキュメントについては、CCD create or update entry by path API のドキュメントを参照してください。

ビルドバージョンの作成

Create a new build version API を使用して、ビルドバージョンを作成できます。ccd.bucketID フィールドを、前にメモしておいた CCD (連続的衝突判定) バケットの ID に設定してください。

以下のコードサンプルは、curl を使用して ビルドバージョンを作成する 方法を示しています。

curl -X POST -H "Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS>" -H "Content-Type: application/json" \
    -d '{"ccd": { "bucketID": "<CCD_BUCKET_ID>" }, "forceRollout": false}' \
    https://services.api.unity.com/multiplay/builds/v1/projects/{projectId}/environments/{environmentId}/builds/{buildId}/versions

レスポンス本体の例とパラメーターのドキュメントについては、Create a new build version API のドキュメントを参照してください。

ビルドの同期の待機

syncStatus フィールドが SYNCED になるまで Get a single build API を再試行することで、ビルドの同期が完了したときにそれを知ることができます。

以下のコードサンプルは、curl を使用して ビルドが同期したことを知る 方法を示しています。

curl -X GET -H "Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS>" https://services.api.unity.com/multiplay/builds/v1/projects/{projectId}/environments/{environmentId}/builds/{buildId}

レスポンス本体の例とパラメーターのドキュメントについては、Get a single build API のドキュメントを参照してください。