WICC 2021 技术分论坛 “开箱即用”语聊房Demo成亮点
7月24日,第三届全球互联网通信云大会(WICC 2021)在北京成功召开,数千开发者共赴通信云技术盛宴。本次会议中,“开发者服务生态”被作为重要议题引起了全产业链的广泛关注。作为大会主办方,全球互联网通信云领导厂商融云不但提出了为什么要服务好开发者的观点,而且还带来了怎样构建开发者服务生态的解决方案。
例如,在“场景化赋能与创新”技术分论坛中,融云前端高级架构师臧其龙发表了《基于语聊房场景化 SDK,探索新一代 PaaS 服务的演进方向》的主题演讲,他以融云语聊房Demo为载体,通过解析语聊房场景的业务逻辑和技术关键点,传递了真正能让开发者“开箱即用”的产品理念,这不仅是开发者服务生态的解决方案之一,还成为技术分论坛的开发者关注亮点。
图1:融云前端高级架构师臧其龙发表演讲
细致入微,剥离出场景背后的核心业务逻辑
在技术分论坛中,臧其龙首先解释了封装首款基于场景化Demo的初衷,“由于年初Clubhouse和Tiya两款语聊房产品的示范效应,带动泛娱乐领域对各类语聊房App旺盛的市场需求。融云针对这一热点需求,选择以语聊房产品作为探索新一代 PaaS 服务的切入点。”
当进一步剖析语各类聊房App的功能后,臧其龙发现,虽然它们长相各异,但场景结构大体相似。其业务逻辑可定义为:以上麦下麦的形式来管理用户发布或者订阅音频流逻辑的SDK。所谓上麦,即用户开启发布音频流的能力,房间其他人可以听到麦位上人的音频;下麦则是用户转变为普通用户,只能听别人发布的音频流,自己不能发布。
因此,融云出品的语聊房产品遵循这一定义,抽象出语聊房App中的所有功能,形成了较为完整的场景化SDK,并且基于此提供相应的Demo,便于开发者“开箱即用”。这也是融云首次将IM和RTC的双重能力在底层完全打通封装成一个SDK接口,提供给开发者。
隐藏技术设计难点,开发者只需关注自身业务诉求
融云在研发过程中,通过对语聊房产品的逻辑分析发现,在业务场景实现方面,关键的技术难点来自于三个方面:
图2:语聊房Demo设计技术关键点
第一,如何实现麦位状态的云端存储与通知。麦位状态的变更必然要通知到语聊房房间内,包括观众和主播在内的所有人,并且App也需要根据麦位状态的变化,更新UI呈现。
要实现这一功能,必须面对复杂的业务流程,比如,如何订阅流?如何订阅主播的流?如果麦位上的角色从观众切换到主播后,也要面临如何去发布流的问题。在融云语聊房场景化的SDK中,这些复杂细节已经全部基于融云聊天室属性管理(KV)完成,因此,开发者不必关心订阅流的逻辑,不必关心设置、删除、获取以及设置回调等属性变化和麦位状态变化,只需通过一个EnterSeat接口,在收到回调后,刷新UI,两步操作即可全部实现。
第二,如何实现邀请上麦和排麦请求。这主要涉及App中的邀请机制和申请机制,例如在语聊房主播邀请一个或多个观众合唱的场景中,面临主播发出邀请,受邀观众收到邀请,选择同意、取消或者拒绝的流程。这时,邀请机制能否及时送达、及时接收十分重要,一旦消息丢失、乱序,都会直接影响到用户体验。
在融云语聊房SDK中,利用融云IM信令,通过调用RequestSeat实现请求上麦,管理员会在收到RequestSeatListDidChange回调,拿到申请连麦的人员列表后,选择Accept、reject,甚至cancel来处理请求。那么相应发起申请的观众端,就会收到RequestSeatDidAccept或者reject。也就是说,细节已被全部隐藏,开发者只需要通过非常直白的命名,在5分钟甚至更短的时间内,就能理解整个流程的实现方式。
第三,如何设计API。臧其龙强调应该要设计出简捷但不简单的API接口,既要求设计简捷方便开发者调用,又必须覆盖所有功能。为此,融云在设计时秉持三个原则:
- 贴近业务。不能过度抽象脱离业务,这一点刚好与一般SDK设计原理相反;
- 可扩展。覆盖所有语聊房的场景,包含狼人杀等特殊场景,所以在特定模型上增加了扩展,比如麦位的extra;
- 简洁易用。屏蔽多余逻辑,例如屏蔽用户手动订阅流等。
这样一来,开发者如果只需要上麦下麦和通话场景,而无需“礼物”、“点赞”等功能,使用融云语聊房场景化SDK,只要两个回调就能够实现。如若加上“礼物”、“点赞”以及单群聊场景,只需将voice room mode模块完整地拖到自己的rss项目里,也只要5分钟就可以满足需求。因此,融云语聊房场景化 SDK & Demo,极大节约了开发者的研发成本,包括时间成本和人员成本,是一款真正意义上的“开箱即用”产品。
融云下一阶段发力重点,提供更多场景化Demo
使用融云这款语聊房场景化SDK的另一个好处是它提供了安全审查能力。臧其龙向开发者承诺:包括融云语聊房SDK、IMLib SDK在内的所有用户,在使用中大可以把工作重心放在产品核心能力研发上,融云的安全审查能力可对图、文、音、视全面设防,为客户提前排除业务风险。实际上,不仅仅是这款产品,融云的IMKit和RTC都提供了同样的语音鉴黄、视频鉴黄能力,并且可以针对敏感信息第一时间进行后台拦截。
对于未来,臧其龙透露,不同场景的覆盖,是下一阶段融云的重要发力点。为帮助开发者获得高质量的产品使用体验,融云认为仅仅提供SDK和API接口都是“不负责任”的做法,因为针对某一特定场景,开发者往往要在上百个SDK中,寻找适合自己业务逻辑的某几十个或十几个SDK,这对开发者来说,绝非易事。
因此,针对直播场景、会议场景、在线教育场景等多个热门场景,融云将逐步为其提供场景化Demo,进一步简化开发者的开发成本。贴近开发者,提炼并满足开发者的共性需求,做开发者值得信赖的伙伴,这是融云的初心,不会改变。
结语
本届WICC,融云在技术分论坛提出要基于语聊房场景化 SDK,探索新一代 PaaS 服务的演进方向:随着SDK数量增多,PaaS 通信云厂商要深入理解不同行业的业务层,展开场景化能力的比拼。融云率先推出了语聊房场景化Demo产品,实践并引领着PaaS 通信云赛道新的增长点。
WICC 2021 技术分论坛 “开箱即用”语聊房Demo成亮点相关推荐
- 直播预告 | 第四范式2021发布会技术分论坛报名开启,6月23日线上见
以「开源开放,激发AI创新动能」为主题的第四范式2021发布会技术分论坛将于6月23日19:00开启线上直播. 本场论坛将会详细介绍第四范式积累多年的自研人工智能底层技术组件以及实操演示,全面了解第四 ...
- 【推荐】2021年华为开发者大会PPT合集(154份,包含技术分论坛PPT50份)
2021年10月22日当天下午,华为开发者大会2021主题演讲将在东莞篮球中心举行.华为常务董事.消费者业务CEO.智能汽车解决方案BUCEO余承东,华为消费者业务软件部总裁龚体,华为消费者业务AI与 ...
- SOFA Weekly|可信基础设施技术分论坛、Layotto 社区会议回顾与预告、社区本周贡献...
SOFA WEEKLY | 每周精选 筛选每周精华问答,同步开源进展 欢迎留言互动- SOFAStack(Scalable Open Financial Architecture Stack)是蚂 ...
- 华为开发者大会 2022 开发者主题演讲与技术分论坛干货分享(附课件)
11 月 4 日-11 月 6 日,HDC 2022 在东莞成功举办,这是一场大规模落地的思维与技术的碰撞,众多业内专家到场,共话未来.其中,开发者主题演讲围绕增强的声明式开发体系,通过一个 Demo ...
- 技术实战 —— 快速实现语聊房搭建
点击上方"LiveVideoStack"关注我们 语音相比文字图片更丰富,比视频又更简便,是天然的社交工具.以95后为代表的Z世代用户,在微信.QQ.微博等主流社交工具以外,更愿意 ...
- 北航计算机学院王华峰,计算机前沿科学与技术分论坛第二场宣讲会
9月24日下午2点,北航第十一届研究生学术论坛计算机学院分论坛第二场宣讲会在工训东317教室举行.本次宣讲会由计算机学院和软件学院共同举办,由计算机学院的研究生杨佩瑜同学和吴雪同学和软件学院研究生柯杰 ...
- HDC2021技术分论坛:跨端分布式计算技术初探
作者:zhengkai,分布式通信首席技术专家 当今的移动应用都向着智能化和多样化方向发展,例如AI辅助,VR/AR应用,沉浸式游戏等.然而现实中的移动设备,因为便携性要求受限于尺寸.电池容量以及温控 ...
- HDC2021技术分论坛:HarmonyOS低代码开发介绍
作者:sunyuhui,wangxiaoyan,华为2012实验室软件IDE专家 什么是低代码开发?低代码开发主要特点有哪些?如何利用低代码开发原子化服务?本文带你一探究竟~ 目录 一.什么是Harm ...
- HDC2021技术分论坛:OpenHarmony驱动框架解读和开发实践
转自:OpenAtom OpenHarmony 作者:yuanbo,华为高级工程师 在IoT时代下,终端设备差异较大.形态各异.尺寸各异.交互方式各异,解决设备适配问题无疑是实现万物互联的一个关 ...
最新文章
- 什么叫通过超链接实现换页_亚马逊大卖都在用的那些链接 -- 超链接
- 漏洞:阿里云盾phpMyAdmin =4.8.1 后台checkPageValidity函数缺陷可导致GETSHELL
- php过滤手机特殊字符,php过滤特殊字符实用函数
- 使用parted命令对硬盘进行操作
- Linux笔记-iptables规则原理和组成
- 一些不错的计算机书籍
- VMWare学习总结(3)——Vmware Workstation 14虚拟机网卡桥接连不上网络解决方法
- win10 android模拟器 菜单,Win10 Android模拟器教程
- OSChina 周四乱弹 ——程序员为啥要买苹果手机啊?
- 我是猫,一只特立独行的猫
- 移动端页面底部导航被浏览器工具栏遮盖解决方法
- Rk3399 Android 7.1 使用 git 管理代码之后编译不通过
- Python漫画爬虫开源 66漫画 AJAX,包含数据库连接,图片下载处理
- word怎么删除空白页
- CF1633D Make Them Equal 题解
- 《数据库系统概论》学习笔记
- 结构体的定义与结构体变量的定义
- MATLAB中ode45()和Runge-Kutta算法(4阶)的比较
- Python——爬取图片
- DEFORM-3D仿真软件Part旋转中心轴如何确定?
热门文章
- 傅立叶变换中的吉布斯(Gibbs)现象
- 光传输-OTN技术总结
- 安装elementui
- Maven运行JUnit测试(http://www.360doc.com/content/13/0927/15/7304817_317455642.shtml)
- 初中学历怎么报考计算机专业,初中学历如何自考本科
- Java学习笔记15. 形式参数与实际参数
- 有关腾讯云香港轻量应用服务器CN2线路说明
- 《Context Aware Query Image Representation for Particular Object Retrieval》论文阅读
- 矩阵范数(martix norm) --维基百科
- 机器人运动力学基础(1)