步骤一中创建的应用为体验版,只适合在开发阶段使用,正式环境用户可结合自己业务需求,开通专业版或旗舰版。不同版本之间的差异可参见 即时通信 IM 价格文档。
在直播场景中,除了创建应用之外,还需要一些额外的配置:
使用密钥计算 UserSig
在 IM 的账号体系中,用户登录需要的密码由用户服务端使用 IM 提供的密钥计算,用户可参见 UserSig计算 文档,在开发阶段,为了不阻塞客户端开发,也可在 控制台计算 UserSig ,如下图所示:
配置管理员账号
在直播过程中,可能需要管理员向直播间发送消息、禁言(踢出)违规用户等,这时就需要使用 即时通信 IM 服务端 API 来进行相应的处理,调用服务端 API 前需要 创建 IM 管理员账号,IM 默认提供一个 UserID 为 administrator 的账号供开发者使用,开发者也可以根据业务的场景,创建多个管理员账号。需要注意的是,IM 最多创建五个管理员账号。
配置回调地址以及开通回调
在实现直播间弹幕抽奖、消息统计、敏感内容检测等需求时,需要用到 IM 的回调模块,即 IM 后台在某些特定的场景回调开发者业务后台。开发者只需要提供一个 HTTP 的接口并且配置在 控制台 > 回调配置 模块即可,如下图所示:
步骤3:集成客户端 SDK
在准备工作都完成好后,需要将即时通信 IM 以及实时音视频 TRTC 的客户端 SDK 集成到用户项目中去。开发者可以根据自己业务需要,选择不同的集成方案。请参见 快速集成系列文档。
接下来文章梳理了直播间中常见的功能点,提供最佳实践方案供开发者参见,并附上相关实现代码。
步骤4:直播间重要功能开发指引
1. 选择群类型
在直播这个场景,用户聊天区域有以下特点:
用户进出群频繁,且不需要管理该群会话信息(未读、lastMessage等)。
用户自动进群不需要审核。
用户临时发言,不关注群历史聊天记录。
群人数通常比较多。
可以不用存储群成员信息。
所以根据 IM 的 群特性,这里选择 AVChatRoom 作为直播间的群类型。即时通信 IM 的直播群(AVChatRoom)有以下特点:
无人数限制,可实现千万级的互动直播场景。
支持向全体在线用户推送消息(群系统通知)。
申请加群后,无需管理员审批,直接加入。
说明:
IM Web &小程序 SDK 限制同一用户在同一时间内,只能进入一个 AVChatRoom,在 IM 的多端登录场景,如果用户登录终端一在直播间 A 观看直播,在 控制台配置 允许多端登录情况下,该用户登录终端二进入直播间 B 观看,这时终端一的直播间 A 会被退群。