サーバーは HappyOyster Open API を通じてワールドを準備しアーティファクトをエクスポートします。クライアント SDK は RTC 接続とリアルタイムインタラクションを処理します。
HappyOyster はサーバー+クライアントの分離構成に従います。サーバーは Open API を介してワールドとアーティファクトを管理し、クライアント SDK はリアルタイム体験を提供します。開始前に、認証情報の取得を完了してください。
注記
- サーバー側 Open API は体験モードごとに Adventure、Directing、Acting に分かれています。お使いのモードに合ったエンドポイントを選択してください。
- World と Travel はそれらを作成したモデルに厳密にバインドされており、クロスモデルアクセスの場合は
403001(world)または404000(travel)が返されます。 - SDK はワールドの作成や管理には関与せず、クライアント側のリアルタイム体験の提供のみを行います。
1. ワールドの準備(サーバー Open API)
- ワールドの作成:お使いのモードに対応するエンドポイントを使用します。Adventure-Create World / Directing-Create World / Acting-Create World。
- ビルドステータスのポーリング(3〜5秒ごと)を行い、
readyになるまで待機します:Adventure-Query World Build Status / Directing-Query World Build Status / Acting-Query World Build Status。 - チケットへの交換:プライマリ API Key を使用して、Adventure-Get Travel Credential / Directing-Get Travel Credential / Acting-Get Travel Credential を呼び出し、一回限りの
ticketを取得します。 - クライアントへの認証情報の配信:
ticketを 一時的な API Key(SDK のtokenとして使用)と一緒にクライアントへ送信します。
2. リアルタイム体験(クライアント SDK)
SDK は RTC 接続、ビデオ再生、およびインタラクションコマンドを処理します。
-
SDK の初期化:
initialize+updateToken— API Host と一時的な API Key を注入します。 -
セッションの開始:
startTravel(ticket);SDK がルームに入り、自動的に接続を確立します。 -
ビデオのアタッチ:
attachVideo()によって返されるビューをレイアウトに追加します。Acting の場合は、ルーム入室時に返されるaspectRatioに従ってコンテナの向きを設定してください。 -
リアルタイムインタラクション:
- Adventure:方向/カメラ/アクションコマンドを送信するには
sendCommandを呼び出します。 - Directing:ストーリーを進行させるテキスト指示を送信するには
sendInstructを呼び出します。 - Acting:テキスト指示を送信するには
sendInstructを呼び出します。
- Adventure:方向/カメラ/アクションコマンドを送信するには
-
セッション制御:
- Adventure:一時停止と巻き戻しはサポートされていません。
- Directing:
pause、rewind、resumeをサポートしています。 - Acting:
pauseとresumeをサポートしていますが、rewindはサポートされていません。
-
セッションを終了する:
endTravelが RTC とリソースを解放します。
3. アーティファクトの取得(サーバー Open API)
Travel の終了後、プライマリ API Key を使用して Adventure-Query Travel Artifacts / Directing-Query Travel Artifacts / Acting-Query Travel Artifacts を composeStatus = ready になるまでポーリングします。外部への配布には、video.withInstructionAndWatermark(指示とウォーターマーク付きで合成されたもの)を推奨します。
次のステップ
- SDK とデモのダウンロード:各プラットフォーム向けの SDK パッケージ、統合ガイド、API リファレンス、およびオープンソースデモです。