服務端呼叫 HappyOyster Open API 準備世界與產物匯出,用戶端 SDK 完成 RTC 建連與即時互動。
HappyOyster 採用服務端 + 用戶端分離的接入方式:服務端透過 Open API 管理世界與產物,用戶端 SDK 完成即時體驗。開始前請先完成獲取鑑權憑證。
說明
- 服務端 Open API 按體驗模式拆分為 Adventure(世界探索)/ Directing(即時導演)/ Acting(角色演繹)三套,請根據業務選擇對應模式的介面。
- World 與 Travel 嚴格屬於其建立模型,跨模型存取會返回
403001(world)或404000(travel)。 - SDK 不負責世界的建立與管理,僅負責用戶端即時體驗。
一、準備世界(服務端 Open API)
- 创建世界,按模式選擇介面:Adventure-建立世界 / Directing-建立世界 / Acting-建立世界。
- 輪詢建構狀態(3–5 秒間隔)至
ready:Adventure-查詢世界建構狀態 / Directing-查詢世界建構狀態 / Acting-查詢世界建構狀態。 - 換取 ticket:使用主 API Key 呼叫 Adventure-獲取體驗憑證 / Directing-獲取體驗憑證 / Acting-獲取體驗憑證,獲得一次性
ticket。 - 下發憑證給用戶端:將
ticket與臨時 API Key(作為 SDK 的token)一併下發。
二、即時體驗(用戶端 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 與資源。
三、獲取產物(服務端 Open API)
Travel 結束後,使用主 API Key 輪詢 Adventure-查詢Travel產物 / Directing-查詢Travel產物 / Acting-查詢Travel產物,直至 composeStatus = ready。推薦對外交付 video.withInstructionAndWatermark(指令 + 浮水印合成版)。
下一步
- 下載 SDK 與 Demo:各端 SDK 套件、接入指南、API 參考與開源 Demo。