前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IM - 直播间在线人数、人气值等场景方案

IM - 直播间在线人数、人气值等场景方案

原创
作者头像
erickyan
发布2022-04-14 15:36:57
2.1K0
发布2022-04-14 15:36:57
举报
文章被收录于专栏:腾讯云终端专家服务

场景

在电商直播、在线K歌、语音电台等应用场景中,实时统计及展示直播间在线人数、人气值等数据。

实现逻辑

在线人数统计及下发逻辑
在线人数统计及下发逻辑
人气值上报及下发逻辑
人气值上报及下发逻辑

1)IM 群组

1.1)选择群组类型为 直播群(AVChatRoom) 。在进行直播活动时,人数会达到十万、百万、千万等量级,直播群是专门为这种直播活动设计的,故在进行直播活动时,推荐使用该群组类型,下一步的群属性,也是仅仅为直播群支持的。

1.2)定义 群属性key,设置在线人数属性、人气值属性,如 online_member_num 为在线人数。

2)客户业务后端

2.1)通过 IM 服务端 RESTAPI 接口(直播群在线人数接口)获取直播间的人数,根据业务逻辑,对在线人数等数据进行处理

2.2)通过 IM 服务端 RESTAPI 接口(修改群自定义属性接口)为指定的群属性key传入value,IM 服务端会下发给 App 端进行展示

3)App端

3.1)App端代码逻辑中,当观众进入直播间,进行上报相关的数据到客户后端,在客户后端服务中做相应的逻辑处理生成人气值,再通过 IM 通道下发给 App端展示

3.2)在 IM 的 onGroupAttributeChanged 回调群属性的变更中,获取传入的直播间在线人数、人气值等数据

3.3)获取到群属性中的key-value即在线人数、人气值等数据后,去更新对应的 UI 即可

服务端 RESTAPI 接口调用示例

1)获取在线人数:

接口文档:即时通信 IM 获取直播群在线人数 - 服务端 API - 文档中心 - 腾讯云

注意:

a)仅仅支持 直播群AVChatRoom 才可以使用

b)在线人数总体更新粒度为 10s

这里以 postman 发起请求为例,来获取直播群的在线人数:

获取在线人数
获取在线人数

2)修改群属性:

接口文档:即时通信 IM 修改群自定义属性 - 服务端 API - 文档中心 - 腾讯云

注:该接口,仅仅支持 直播群 才可以使用!

这里以 postman 发起请求为例,指定群属性key,传入对应的在线人数:

修改群属性
修改群属性

客户端 App 中接收属性变更回调

onGroupAttributeChanged回调:地址

通过该回调获取到群属性,可以获取到在线人数对应的 key-value,然后去展示到 UI 上:

代码语言:javascript
复制
@Override
public void onGroupAttributeChanged(String groupID, Map<String, String> groupAttributeMap) {
    for(String key : groupAttributeMap.keySet()){
        Log.d(TAG, "群属性更新 - key: " + key + ", value: " + groupAttributeMap.get(key));
    }
}

相关文档链接

群组系统介绍:地址

服务端 RESTAPI 接口 - 修改群自定义属性: 地址

服务端 RESTAPI 接口 - 获取直播群在线人数:地址

终端 SDK 群属性介绍:地址

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 场景
  • 实现逻辑
    • 1)IM 群组
      • 2)客户业务后端
        • 3)App端
        • 服务端 RESTAPI 接口调用示例
          • 1)获取在线人数:
            • 2)修改群属性:
            • 客户端 App 中接收属性变更回调
            • 相关文档链接
            相关产品与服务
            即时通信 IM
            即时通信 IM(Instant Messaging)基于腾讯二十余年的 IM 技术积累,支持 Android、iOS、Mac、Windows、Web、H5、小程序平台且跨终端互通,低代码 UI 组件助您30分钟集成单聊、群聊、好友与资料、消息漫游、群组管理、会话管理、直播弹幕、内容审核和推送等能力。适用于直播互动、电商带货、客服咨询、社交沟通、企业办公、互动游戏、医疗健康等场景。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档