Like短视频+直播+商城三端源码,声网对接教程,填俩字段就通
摘要:本文以开发者视角,分享Like短视频系统(Flutter+Go+Vue)的声网对接教程,后台只需填App ID和App Certificate,附实战踩坑点和优化建议。
本系统的直播间、语音聊天室、1v1 音视频通话都依赖声网 RTC。整个对接过程不需要改任何代码,只要在声网控制台拿到两个密钥、填进管理后台即可。全程约 10 分钟。
开始之前先了解架构
App ID 会下发给客户端,用于初始化 SDK;App Certificate 只保存在服务端,用来签发进入房间的 Token,绝不下发。客户端每次进房都向后端要一次 Token,后端根据"你是主播还是观众"签发不同权限的凭证。所以 App Certificate 泄露等同于任何人都能进你的房间推流,务必只填在后台、不要写进客户端代码或截图外发。
1.注册并实名认证
打开 声网控制台 注册账号,然后完成实名认证。然后

创建一个应用,选“安全模式”。点击创建新项目 拿到App ID和App Certificate(也就是主要证书复制即可)。

回到Like后台,系统设置→基础配置→直播配置,填进去。注意:App ID是明文,直接复制;App Certificate是密钥,可以点击一下测试连接 正确就ok了。填完保存,

常见问题
提示"声网未启用,请在后台配置"
后台开关没打开,或 App ID 为空。另外确认保存时用的是超管账号——非超管保存会被后端拒绝,但前端不一定给出明显提示。
能进房间但看不到画面 / 听不到声音
九成是 App ID 与 App Certificate 不属于同一个项目(比如从两个项目分别复制的),或者复制时带了首尾空格。后端保存时会自动 trim 空格,但跨项目的组合它检测不出来。回到控制台核对一遍两个值是否来自同一行。
刚开播几秒就断,日志里有 token 相关报错
Token 有效期设得太短,或服务器系统时间不准。声网 Token 带签发时间戳,服务器时钟偏差超过几分钟就会被判定为无效。执行 date 检查,必要时用 ntpdate 校时。
语音聊天室嘉宾上麦的已知限制
后端签发 Token 时,只有房主拿到发布者(publisher)权限,其他人一律是订阅者(subscriber)。在开启了 App Certificate 的安全模式下,普通观众上麦后客户端虽然会把自己切成主播角色,但手里的 Token 没有推音频的权限,声网服务端会拒绝,表现为"上麦成功但别人听不到你说话"。
两种处理方式:临时验证阶段可以清空 App Certificate 走「App ID 模式」(此时 Token 为空、不做鉴权,但任何人知道你的 App ID 就能进你的房间,绝不能用于生产);正式方案是改后端 live_handler.go 的 AgoraToken,把角色判定从"是否房主"改成"是否已占麦位",并在上下麦时让客户端重新拉一次 Token。
费用怎么算
声网按分钟计费,新账号每月有 10000 分钟免费额度,够小规模测试用。上线前建议在控制台设置用量告警和消费上限,避免刷量导致意外扣费。音频比视频便宜很多,视频还按分辨率分档。
需要改代码的地方
正常对接一处都不用改。客户端的 Agora SDK、Token 自动续期、权限申请都已经写好了,配置从后端动态下发。只有上面那个语音聊天室麦位权限的问题才需要动后端代码。
