农具的大量使用把人类从狩猎采集社会带到了农业社会;蒸汽机的创新和广泛应用,推动了第一次工业革命,带来了工业经济的蓬勃发展;电子信息技术的发展又驱动人类进入信息社会。

大到一个经济时代,小到一个行业周期,生产工具的每次创新升级,势必带来生产力的显著提升。

在 WICC 广州的“社交分论坛”上,融云场景化研发负责人臧其龙带来《融云社交场景化 SDK 探索》主题演讲,分享融云在通信云服务方面的创新探索。融云第三代场景化 SDK 的服务模式创新将给开发者提供全新的生产工具,带来生产效率的极大提升,也必将重塑产业格局。

(臧其龙在 WICC 广州社交分论坛演讲)

学习成本日渐高企,PaaS 服务新痛点

回溯十年前,想要自研一款即时通讯应用还是比较困难的事情,要自建服务器,研究分发和到达率。随着通信云 PaaS 服务的逐渐完善,借助融云等平台的服务,搭建这样一款应用变得不再是“不可能的挑战”。

但是,随着时间的推进,市场需求不断演变。我们会发现,单一场景需求越来越少,更多的时候,我们要面对的是场景的融合。

以语聊房这个时下语音社交热门场景为例来说,这类产品主要有两部分组成:一是麦位管理部分,用户上麦后角色发生变化,从观众切换成主播,可以发布音频流被观众和其他主播听到。二是聊天室部分,也就是公屏消息的部分,房间内所有成员都可以发送文字在公屏区域沟通。

实现这两个部分,就要同时接入 RTC 和 IM,也就是融合场景。这种融合需求也出现在直播等等场景中。随之而来,棘手的问题出现了。

问题并非出于服务能力不足,反而是大部分行业供给都已经非常强大造成的。一个 SDK,基本上有 200+ 甚至 300+个 API。当开发者接触到一个功能强大的 SDK,首先面对的难题是学习成本特别高,其次是它的学习曲线也比较陡峭。

比如 RTC 会涉及到很多非常专业的音视频领域知识,要了解流的定义与发布,学习一些编码知识,掌握了基础知识后,才能让 SDK 发挥应有的作用。

服务模式演进,第三代 SDK 新范式

为了解决上面说到的痛点问题,融云推出了第三代 SDK 服务模式,一举破解旧供给的高学习成本难题。

以语聊房场景为例,我们可以更加直观地感受三代服务模式的升级核心。

语聊房产品的核心是麦位管理,语聊房解决方案,就是通过上麦、下麦等一系列麦位管理来对用户和流进行同步管理的 SDK。

第一代解决方案,使用业务服务器管理每个房间的麦位。前端只负责调用后端的接口,后端管理麦位,不单要更改麦位,还要负责整个状态的刷新和发布,非常复杂。

第二代解决方案,也就是目前其他厂商普遍使用的方式。把管理麦位的能力放在 IM SDK 里,通常是聊天室属性,拥有麦位的增、删、改、查同步能力。服务模式是,开发者下载 Demo,自行研究实现逻辑,再利用开源代码二开实现。也就是说,开发者还是需要理解厂商提供的开源代码,上手难度比较高。

第三代解决方案,也就是融云行业首推的 SDK。开发者无需研究代码,也不需要单独集成 IM 和 RTC,只需要对这个产品有了解,就可以调用接口实现应用。而且这个接口数量只有不超过 20 个。

(三代服务模式演进)

利用第一代解决方案,最常出现的问题就是幽灵麦,上麦的时候发不出声,下麦又能发出声音了。这是因为,前端代码和后端代码需要严丝合缝实现同步,前后端的协同和更新很容易出差错,造成 2-3 秒的延迟,这给产品体验带来的打击是毁灭性的。

第二代解决方案,只需要关注前端开源代码,但是也要面临残酷的现实问题。首先,原封不动上架产品面对很大的审核被拒风险;其次,新增功能需要学习底层机制再改代码,难度大,易出 Bug。

融云的第三代 SDK 解决方案,学习难度非常低,只需要对基础的上麦、下麦、锁麦等有了解,甚至根据 20 个 API 的注释就能成功调用。无需理解底层代码,无需研究实现逻辑,无需管理流的订阅,极大提升开发速度,7 天就能上线一个语聊房。

第三代 SDK 的 API 设计三大原则

贴近业务:接口设计不能云里雾里令人不解。

以最常见的三个功能为例,enterSeat(index: Int) 接口,index 设置为麦的序号,就完成了这一麦位上角色转换、流的订阅、UI 的同步和刷新等一系列操作。muteSeat(index: Int) 接口,Mute 是静音,Seat 是某个麦位,后面会带一个麦位的序号,可以关闭某个麦位上的声音;kickUserFromSeat(userId: String) 接口就可以把某个用户踢下麦。都说细节是魔鬼,第三代 SDK 可以说是已经把魔鬼封在黑盒中了,开发者可以无忧开发。

可扩展性:语聊覆盖的场景非常多,比如非常火的狼人杀业务,需要麦位体现特殊身份——平民、法官、狼人,接口设计得足够可拓展,就可以覆盖所有热门场景,也方便开发者去做不同业务的尝试。

简洁易用:语聊房 SDK 核心接口只有 20 个,大部分场景只需要其中 10 个基本上就可以实现业务。核心功能回调只有 23 个,对于不太关注性能或不需要兼容低端手机的业务,开发者只需关心麦位信息和房间信息的变更两个回调就可以。

更多场景 Coming Soon

语聊房、呼叫场景之外,融云近期上线了直播 SDK,预制了 9 种合流布局,覆盖所有的直播合流场景。

直播场景通常用户感知最强烈的就是两个步骤,唤起摄像头做直播前美颜等准备 ➡ 开始直播。

融云直播 SDK 把这两步封装成 API,第一步是 Prepare,封装了融云开源的 BeautyKit 美颜等能力;第二步是 Live Video,把所有直播流程实现逻辑隐藏掉,开发者只需要调用接口就可以实现业务。

接下来,融云还会把会议、教育等场景进行完整封装提供给开发者,帮开发者一一攻克场景难关。

同时,在 SDK 组成的“骨骼”、“肌肉”之外,融云还将开源一系列含 UI 体系的 Kit,作为配套使用的“皮肤”。比如,ChatKit、GiftKit、BeautyKit、MusicControlKit 等等。搭配开发者可在后台一键配置的“内容审核”能力,真正为开发者提供一站式的完整解决方案服务。

创新模式驱动生产力提升,融云社交场景化 SDK 探索相关推荐

  1. 跨平台|融云 React Native IM SDK 全新改版上线

    猿桌派 EP2 曾就 "跨平台还是原生?"话题上演过一次大型 PK,三位嘉宾都是端上的兄弟,一番争论下来基本都偏向了采用跨平台解决方案.关注[融云全球互联网通信云]了解更多 诚然, ...

  2. 掌握优化+创新模式,轻松提升APP广告eCPM

    ​无论是市场占有率高的综合性应用程序(App),还是透过特定目的所设计的专业化应用程序(App),内部嵌入广告已成为其主要的盈利方式. 而优化和创新作为提升广告收益的两大关键词.通过不断的数据分析和优 ...

  3. android融云自定义通知,Android SDK 体系架构 - 融云 RongCloud

    Android SDK 体系架构和消息体系 本文档将详细介绍融云的 SDK 产品架构和消息体系,以便于您更深入的了解融云并更快速的开发自己的产品. 融云 SDK 系统架构 IMKit IMKit 的功 ...

  4. 对接融云即时通讯组件SDK,轻松实现App聊天室

    我好像特别喜欢做聊天室类的东东,刚折腾完微软的SignalR又折腾App.本来想研究研究XMPP的,由于服务器的搭建问题,先采用一个第三方的吧,看看效果如何.听到弟弟说他们公司用到了融云,我也下载个S ...

  5. 以数字化转型为目标,华为云启动“场景化”按钮

    2017年3月, 华为云BU正式成立, 华为在公有云领域增加投入2000人. 这是云2.0时代华为拓展云服务市场的新开端. 4个月过去了, "华为企业云"全面升级为"华为 ...

  6. 云桌面场景化升级新作,锐捷网络发布全新远程办公“U空间”

    编辑 | 宋慧 出品 | CSDN云计算 远程办公真的来了. 在硅谷的科技公司远程办公常态化之后,国内的科技大厂也在跟进中,如携程正式宣布的3+2混合办公模式.根据iiMedia Research艾媒 ...

  7. 艾瑞发布《2021 年全球互联网通信云行业研究报告》,融云持续领跑市场

    2021 年,预计全年全球互联网通信云市场将实现 59.2% 的同比增长.基础设施的完善,叠加 5G.物联网等技术的发展,全球互联网通信云市场将迎来新增长,预计到 2024 年全球市场规模将达 182 ...

  8. 融云直播 SDK 玩法翻新,入围信通院「实时互动创新应用优秀案例」

    7 月 23 日-24 日,第五届数字中国建设峰会于福建省福州市举办.关注[融云全球互联网通信云]了解更多 峰会以"创新驱动新变革,数字引领新格局"为主题,是中国数字经济发展成果展 ...

  9. 融云 WICC 剧透:“安全”出海不触礁,全球合规指南一网打尽

    2020 年,全球顶级电子游戏开发工作室"顽皮狗"(Naughty Dog)旗下的<美国末日2>在中东遭到下架,原因是 ESRB(娱乐软件分级委员会)对该游戏的评级为包 ...

最新文章

  1. Python学习--not语句
  2. 009-对象—— 构造方法__construct析构方法__destruct使用方法 PHP重写与重载
  3. elasticsearch index、create和update的源码分析
  4. iOS多线程开发(三)---Run Loop(一)
  5. KMPEXKMP学习笔记
  6. 图卷积神经网络(GCN)理解与tensorflow2.0代码实现
  7. 谈谈C#的私有成员的一个有趣的现象!
  8. 低版本Eclipse如何快速设置黑色主题
  9. 基于 Kubernetes 实践弹性的 CI/CD 系统 1
  10. java 二进制置位,重置
  11. php 1个中文几个字节,PHP函数第15款:gbk中文截取,1个中文字节为2个英文字节 cn_substr...
  12. sip协议详解 系列(三)
  13. win10开机自动拨号上网
  14. pyautogui在网页内写入excel文件内容
  15. 你想知道的优惠券业务,SkrShop告诉你
  16. logstash的mutate过滤器的使用
  17. 大道至简之九:周期的实质与投资机会
  18. vue的渐进式框架的理解
  19. 为什么感觉期货交易越做越难?
  20. DRL经典文献阅读(二):确定性策略梯度(DPG+DDPG)【附代码】

热门文章

  1. 简单史玉柱:成就曲径通幽的营销传奇故事
  2. 创意个人头像信息卡片js特效
  3. “我们不一样”新标本:看大资源加持下的三星S8 “4G+智版”手机
  4. 如何在Maya中修改已经绑定后的模型的法线
  5. 头晕头痛是植物神经紊乱了吗?
  6. 一条指令打开ChatGPT开发者模式
  7. 花最少的钱用最多的流量?告诉你,保底套餐+流量卡才是最佳拍档
  8. Vue---v-bind数据绑定、事件绑定、v-for循环绑定数据、v-model数据绑定、过滤器filters、v-show、v-if及练习(demo:切换小球颜色、获取数据进行展示、显示和隐藏)
  9. 雷诺手表表链怎么拆?手表表链的拆除方法
  10. java的Gui菜单的描述_100分的外卖菜单描述怎么写?加上这些关键点,菜品看着就高端了...