Token 是用户进房必须传入的参数,用于 RTC 服务端鉴权。
每个用户在进房时都需要携带 Token 进行鉴权。
测试阶段需要使用 Token。你可以在火山引擎控制台生成临时 Token,也可以参考火山引擎提供的 Token 生成示例代码在本地生成测试 Token。详情参看使用 Token 完成鉴权。
注意:在正式上线前,你需要把生成 Token 的逻辑集成到业务服务端,通过服务端下发 Token 给用户用于进房。
joinRoom
后 onRoomStateChanged
回调收到 -1000
错误码?只有当 onRoomStateChanged
返回 state=0
时才代表进房成功,其他都是进房失败。-1000
错误码代表 Token 错误。此时你需要检查:
createRTCVideo
传入的 appId
和 joinRoom 传入的 roomid
、userid
与生成 Token 使用的 appId
、roomid
和userid
是否一致。
检查生成 Token 传入的 expire_time
是否过期。expire_time
的值是时间戳而不是过期时间长度。如下图代表当前时间 1 小时后过期,你需要写入当前时间加 1 小时的时间戳,而不是写 3600
。
检查 addPrivilege
中设置的过期时间是否过期。
一般场景不需要对推拉流权限的过期时间单独控制。建议与 expireTime
过期时间保持一致。
如果生成 Token 时未设置有效期,则 Token 永久有效。
会。Token 过期前 30 s,客户端会收到 onTokenWillExpire
回调。此时需要客户端调用 updateToke
传入新的未过期 Token, 用户才能继续音视频互动,否则将被强制退出房间。
会。以可见用户为例,因 Token 过期被踢出房间后,服务端会收到 UserLeaveRoom
事件回调,reason 为 onUserTokenDidExpire
。