加入第一個 RTC 頻道
本指南帶你跑通一個影片頻道:你的服務端建立一個需要票據的頻道並給使用者簽發票據,已登入的 Web 客戶端憑票據加入。頻道與 IM 群、通話邀請無關。各端的支援情況見頻道概述。
1. 確認開通和版本
在控制檯選好租戶和應用,確認以下幾項都滿足:
- 應用狀態正常,音影片策略
rtc_enabled已開啟。 - 平臺的頻道總開關和應用的頻道開關都開著。應用的頻道開關預設開啟,平臺可以單獨關閉。
- 這個應用的音影片餘額為正。在“音影片計費”中用微信支付或對公轉賬充值,到賬後餘額才增加;套餐餘額和其他應用的餘額都不能代替,見充值。切換到新計費之前的應用按原套餐的許可權判斷。
- 平臺有可用的、支援新計量協議的媒體服務,並且併發額度還有餘量。
- 客戶端使用帶頻道介面的 SDK 版本,
rtc_channels_enabled=true、rtc_channels_protocol_version=1,並且當前平臺的channels.supported為true。各端的版本和獲取方式以各自的文件為準,服務端升級不會讓客戶端自動升級。
換取 App Token、建立使用者和獲取登入憑證的步驟同傳送第一條訊息。下文的 $IM_API、$ORG、$APP、$APP_TOKEN 含義見服務端接入概述。
2. 建立頻道
在你的服務端執行:
curl -X PUT "$IM_API/$ORG/$APP/rtc/channels/meeting-demo" \
-H "Authorization: Bearer $APP_TOKEN" -H "Content-Type: application/json" \
-d '{"name":"项目会议","media":"video","access_mode":"ticket","max_participants":16}'響應中的 channel.channel_id 就是客戶端加入時用的頻道 ID。建立引數和重複請求的規則見頻道管理。
3. 為使用者籤票據
假設 alice 已經是本應用的正常使用者:
curl -X POST "$IM_API/$ORG/$APP/rtc/channels/meeting-demo/tickets" \
-H "Authorization: Bearer $APP_TOKEN" -H "Content-Type: application/json" \
-d '{"users":[{"username":"alice","role":"publisher"}],"ttl_seconds":120}'透過你自己的、已鑑權的業務介面把響應中 alice 的 ticket 交給 alice,不要交給其他人,也不要寫進日誌。簽發的響應丟失時不能直接重試簽發,規則見頻道票據。要讓第二個人加入,單獨為他簽發票據。
4. 登入後加入
下面的 im 已按 Web 快速整合以 alice 的身份登入,票據只儲存在記憶體變數裡:
if (!im.channels.supported) throw new Error('当前环境不支持频道媒体');
const channel = await im.channels.join('meeting-demo', {
ticket: ticketFromBusinessServer,
});
// 用户点击麦克风 / 摄像头按钮后调用,默认均关闭。
await channel.setMicrophoneEnabled(true);
await channel.setCameraEnabled(true);
// 页面退出时:
await channel.leave();顯示畫面、訂閱、取消訂閱和恢復見 Web 頻道。Android、Flutter / iOS、Tauri 和 UniApp 的接入見客戶端 SDK;UniApp H5 可以直接執行 H5 Demo 驗證頻道流程,UniApp App(Android / iOS)的 App Demo 帶頻道頁,需在真機上驗證。
5. 檢視狀態與用量
在控制檯應用詳情的“RTC 頻道”中可以檢視頻道和會話,移出或封禁成員、關閉頻道;developer 只能檢視,admin 可以管理,見 RTC 頻道管理。用量的定稿和更正見頻道統計和獨立頻道用量與自動更正。
同一個使用者不能同時在通話和頻道中;剛離開時媒體資源可能還在回收,這期間加入會提示忙。返回 202 表示還在清理,不代表佔用已經釋放。
6. 核對用量並排查失敗
先在單獨的測試應用裡試一段短時的語音和影片,再到“音影片計費”檢視本月標準時長、已扣分鐘和流水。頻道統計介面中的每日參與分鐘是另一種統計口徑,不會重複扣費。例如兩人各接收 HD 影片 10 分鐘,按預設係數合計 80 標準分鐘,見計算示例。
加入失敗時按這個順序檢查:應用和餘額 → 充值訂單是否到賬 → 音影片和頻道開關 → 併發額度和使用者是否正在別的通話或頻道中 → 媒體服務和網路。記下錯誤碼、details.reason 和請求 ID;不要反覆重籤票據或重建頻道,那樣會掩蓋配置問題。
