このセクションでは、6labs SDKをUnityアプリケーションに統合する方法を説明します。
6labs SDK は、Unity パッケージファイルとして提供されています。
以下の手順でモジュールを Unity プロジェクトに追加します:
v3.9.0。.unitypackage ファイルを選択してください。Start() メソッドを使用して、ゲームプレイの観察を開始します。以下の例を参照してください。
必要条件: SDK_STATE_IDLE。SDK が一時停止中の場合、Start() は ERROR_STATE_NOT_IDLE を返します。一時停止中のセッションを継続するには Resume() を使用してください。状態とレスポンスコードの全一覧については、SDK の状態とレスポンスコードを参照してください。
inGameId が渡されない場合、観察されたセッションは破棄され、AI 分析に使用されない可能性があります。これがないと、セッションをプレイヤーに紐付けることができず、後続のインサイト生成に必要な情報が不足します。Start() は代わりに callbackOnComplete を ERROR_NOT_SUPPORTED とともに呼び出します。
以下は Start() メソッドのリファレンスです。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
inGameId |
string |
いいえ | 省略可能ですが推奨されるユーザー識別子です。省略した場合、セッションが破棄され、AI 分析に使用されない可能性があります。 |
developerPayload
|
string |
いいえ | セッションに関連付けられる任意の開発者定義メタデータです。この値はセッションリクエストとともにそのまま転送され、カスタムのトラッキング情報やコンテキスト情報を付加するために利用できます。より豊富な developerPayload を提供することで、AIによる分析やセッション理解の精度を大幅に向上させることができます。詳細なユースケースと JSON の例については、Developer Payload の例ページを参照してください。例:
|
callbackOnComplete |
Action<SdkResponse, string> |
いいえ | 呼び出しが完了すると(成功・失敗を問わず)呼び出されます。詳細は下記のコールバックを参照してください。 |
このコールバックは非同期に呼び出され、SdkResponse と errorMessage を返します。errorMessage は成功時には空文字列となり、失敗時にはその理由を説明します。
| レスポンス | 説明 |
|---|---|
SUCCESS |
セッションが正常に開始しました。 |
ERROR_STATE_NOT_IDLE |
SDK が SDK_STATE_IDLE 状態ではありませんでした — 既にセッションが実行中である、一時停止中である、または前のセッションがまだ停止処理中です。 |
ERROR_NOT_SUPPORTED |
現在のプラットフォームがゲームプレイの観察に全く対応していません — 現時点では Unity Editor のみが該当します。 |
ERROR_SESSION_FAILED |
リクエストは受理されましたが、観察セッションを開始できず、SDK は SDK_STATE_IDLE に戻りました。これは、セッション作成の失敗、デバイスの性能限界、古い SDK バージョン、ネットワークの問題、またはその他の初期化に関する問題が原因で発生することがあります。 |
SetInGameId() メソッドを使用して、プレイヤーのゲーム内 ID を既存の観察セッションに関連付けます。このメソッドは、ユーザーアカウントが作成される前に SDK が初期化された場合に、ログイン済みのユーザーを進行中のセッションに紐付けるためによく使用されます。
Start() 呼び出し時に inGameId を渡していた場合、SetInGameId() を呼び出すと、現在のセッションに設定されていた値が上書きされます。以下は SetInGameId() メソッドのリファレンスです。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
inGameId |
string |
はい | 現在のセッションに関連付けるプレイヤーのゲーム内識別子です。 |
SendGameEvent() メソッドを使用すると、進行中の観察セッション中にカスタムのゲームプレイイベントを記録できます。イベントはセッションに紐付けられ、分析時に特定のゲームプレイの瞬間を関連付けるために利用できます。
以下は SendGameEvent() メソッドのリファレンスです。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
eventName |
string |
はい | 記録するカスタムイベントの名前です。 |
eventDataJson |
string |
はい | イベントに関連付ける追加データを含む JSON エンコードされた文字列です。 |
| 値 | 説明 |
|---|---|
true |
イベントが受理され、アップロード待ちのキューに追加されました。 |
false |
イベントが拒否されました。例えば eventName が空の場合などです。 |
Start() は新しいセッションのゲームプレイ観察を開始します。その後は要件に応じて
Pause()、
Resume()、
Stop() を使用してそのセッションを制御できます。
Pause()
メソッドを使用して、ゲームプレイの観察を一時停止します。
必要条件: SDK_STATE_CAPTURING。状態とレスポンスコードの全一覧については、SDK の状態とレスポンスコードを参照してください。
Resume()
を呼び出すことができます。
以下は Pause() メソッドのリファレンスです。
| 値 | 説明 |
|---|---|
SUCCESS |
呼び出しが受理され、実行されました。 |
ERROR_STATE_NOT_CAPTURING |
SDK が SDK_STATE_CAPTURING 状態でない場合に返されます — 例えば、ゲームプレイの観察が実行されていない、セッションが既に一時停止されている、または停止処理が既に進行中である場合です。状態とレスポンスコードの全一覧については、SDK の状態とレスポンスコードを参照してください。 |
Resume() メソッドを使用して、Pause() によって一時停止されていたセッションを再開します。
必要条件: SDK_STATE_PAUSED。状態とレスポンスコードの全一覧については、SDK の状態とレスポンスコードを参照してください。
以下は Resume() メソッドのリファレンスです。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
callbackOnComplete |
Action<SdkResponse, string> |
いいえ | 呼び出しが完了すると(成功・失敗を問わず)呼び出されます。詳細は下記のコールバックを参照してください。 |
このコールバックは非同期に呼び出され、SdkResponse と errorMessage を返します。errorMessage は成功時には空文字列となり、失敗時にはその理由を説明します。
| レスポンス | 説明 |
|---|---|
SUCCESS |
セッションが正常に再開しました。 |
ERROR_STATE_NOT_PAUSED |
SDK が SDK_STATE_PAUSED 状態ではなかったため、再開できる一時停止中のセッションがありませんでした。 |
ERROR_SESSION_FAILED |
リクエストは受理されましたが、一時停止中のセッションを再開できず、SDK は SDK_STATE_IDLE に戻りました。これは、セッションまたはランタイムの障害、ネットワークの問題、またはセッションの再開を妨げるその他の障害が原因で発生することがあります。 |
Stop() メソッドを使用して、現在のセッションを完全に終了します。Pause() とは異なり、停止したセッションは Resume() で再開することはできません — 新しいセッションを開始するには、再度 Start() を呼び出す必要があります。
必要条件: SDK_STATE_CAPTURING または SDK_STATE_PAUSED。状態とレスポンスコードの全一覧については、SDK の状態とレスポンスコードを参照してください。
以下は Stop() メソッドのリファレンスです。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
callbackOnComplete |
Action<SdkResponse, string> |
いいえ | 呼び出しが完了すると(成功・失敗を問わず)呼び出されます。詳細は下記のコールバックを参照してください。 |
このコールバックは非同期に呼び出され、SdkResponse と errorMessage を返します。errorMessage は成功時には空文字列となり、失敗時にはその理由を説明します。
| レスポンス | 説明 |
|---|---|
SUCCESS |
呼び出しが受理され、セッションが終了しました。 |
ERROR_STATE_NOT_CAPTURING |
SDK が SDK_STATE_CAPTURING または SDK_STATE_PAUSED 状態ではなかったため、停止できるアクティブなセッションまたは一時停止中のセッションがありませんでした。 |
以下は SDK の状態とレスポンスコードです。
SixLabsSDK.Instance.CurrentState を使用すると、いつでも現在の SDK の状態を確認できます。Start()、Pause()、Resume()、Stop() は、SDK が有効な状態にあるときにのみ呼び出すことができます。無効な状態から操作を呼び出すと、エラーが返されます。Pause() は SdkResponse を直接返します。Start()、Resume()、Stop() は、任意の callbackOnComplete コールバックを通じて結果を返します。callbackOnComplete コールバックは非同期に呼び出されます。| 状態 | 値 | 説明 |
|---|---|---|
SDK_STATE_IDLE |
100 |
SDK がゲームプレイを観察していない状態です。これはデフォルトの状態であり、セッションが停止した後、または開始に失敗した後に戻る状態でもあります。 |
SDK_STATE_CAPTURING |
101 |
SDK がゲームプレイを積極的に観察している状態です。これには、アクティブなセッションと、データのバッファリングやアップロードといったバックグラウンド処理が含まれます。 |
SDK_STATE_STOPPING |
102 |
セッションが停止処理中の状態です。SDK は SDK_STATE_IDLE に戻る前に、残っている処理を完了させています。 |
SDK_STATE_PAUSED |
103 |
セッションが一時停止している状態です。ゲームプレイの観察は一時的に停止していますが、セッションは開いたままであり、それまでに観察されたデータのアップロードは継続できます。 |
| レスポンス | 値 | 説明 |
|---|---|---|
SUCCESS |
0 |
操作が受理され、正常に完了しました。Stop() の場合、セッションは終了しています。 |
ERROR_STATE_NOT_IDLE |
1000 |
SDK がアイドル状態でないときに Start() が呼び出されました。既にセッションが実行中、一時停止中、または停止処理中である可能性があります。 |
ERROR_STATE_NOT_CAPTURING |
1001 |
SDK が観察を行っていないときに Pause() または Stop() が呼び出されました。Stop() は一時停止中のセッションを終了させることもできます。 |
ERROR_NOT_SUPPORTED |
1002 |
Unity Editor など、ゲームプレイの観察に対応していないプラットフォームで Start() が呼び出されました。 |
ERROR_STATE_NOT_PAUSED |
1003 |
SDK が一時停止していないときに Resume() が呼び出されました。SDK がアイドル状態のときに新しいセッションを開始するには Start() を使用してください。 |
ERROR_SESSION_FAILED |
1004 |
リクエストは受理されましたが、観察を開始できず、SDK は SDK_STATE_IDLE に戻りました。例えば、低スペックデバイス、古い SDK バージョン、ネットワークの問題、またはその他の初期化に関する問題が原因でセッション作成が失敗することがあります。このエラーは即時の拒否としてではなく、callbackOnComplete を通じて通知されます。 |