上周余哥吃饭和几位移动端开发者聊天。他们都谈到了今天音视频产品的发展,门槛比以前大大降低了。在创业公司打拼的老马,一直在做Android应用开发。老板希望用类似Clubhouse的玩法作为他们新的业务线。他开始了漫长的选型之路。【融云全球互联网通信云】其实得益于国内通信云服务商的底层建设,即使没有相关垂直领域的经验,打造一款聊天室产品进入这个市场也不是没有可能。难点在于如何满足老板对速度的要求。语音聊天室产品需要用到IM(即时通讯)和RTC(实时音视频)两大能力,面对数百个模糊的API。仅仅整合这两个模块就已经耗尽了我的精力,掉了我的头发。不过,老马还是可以出来和我们聊天,因为他找到了捷径。他正在与服务提供商联系。顺利的话,一周后就能“完成KPI,拿到奖金”。余哥以为他在吹牛,因为我印象中的音视频业务整体还是很复杂的,各种话筒比特位管理,实时声音,低延迟等要求。其实我也不是很相信~详细询问后才知道,我选择的是PaaS厂商融云的SDK。说起融云,我印象非常深刻。他的创始团队是“飞信”此前发展的核心人物,在通信领域非常有实力。基于自身强大的IM和RTC优势,融云很早就推出了封装基础通信能力的SDK,并不断完善。为了降低开发者的使用难度,融云投入了大量资源,针对热门场景开发了一揽子解决方案。把复杂的事情简单化。融云语言聊天室SDK是老马选择的解决方案,满足了大部分语言聊天室场景的需求,也涵盖了一系列衍生场景的实际需求。》11月初,融云场景聊天室Demo&SDK2.0正式上线,新增连麦PK和语音广播两大主流场景,以及房间浮窗展示、滑动切换房间、发送语音消息、赠送礼物全服直播、设置房间屏蔽词等实用功能,覆盖所有热门语言聊天室场景。”我去他们官网研究了一下,确实很简单,大大降低了开发的时间成本和资金成本。可以快速实现业务需求。比如第一步直接集成聊天室SDK,而不是IM和RTC分开集成;再比如核心API数量不超过20个,核心回调数量不超过5个;再比如:直接在融云开发者后台“启用审计”配置中找到,点击配置,一键接入第三方专业内容审核平台,从根本上杜绝非法内容恶意传播的可能。强大的功能只满足开发者最基本的需求。最让雨格注意的是“7天在线”。这速度,简直不敢想象。为此,宇哥与融云场景化研发负责人臧启龙进行了深入的交谈。臧启龙表示,融云能够帮助开发者跳槽的关键点在于,不仅开源代码,还将混乱源码的业务逻辑打包成SDK,并提供直观的API接口。这样开发者就不需要了解底层的技术逻辑了。只要对业务有基本的了解,知道什么是建房,什么是留房,什么是mic,什么是mic,就可以快速完成开发。羽哥看着融云的开发文档。创建房间的代码是这样的,真的很简单易懂。示例代码如下:///创建一个RCVoiceRoomInfo实例RCVoiceRoomInforcVoiceRoomInfo=newRCVoiceRoomInfo();///设置房间名称rcVoiceRoomInfo.setRoomName(roomName);///设置座位数rcVoiceRoomInfo.setSeatCount(9);///设置Mic模式(true为免费mic接入,false为申请mic接入)rcVoiceRoomInfo.setFreeEnterSeat(false);///设置全麦锁座rcVoiceRoomInfo.setLockAll(false);///设置全麦锁rcVoiceRoomInfo.setMuteAll(false);//roomId为RCVoiceRoomEngine.getInstance().createAndJoinRoom(roomId,rcVoiceRoomInfo,newRCVoiceRoomCallback(){@OverridepublicvoidonSuccess(){//创建成功,自动加入房间}@OverridepublicvoidonError(intcode,Stringmessage){//创建失败}});对于开发者来说,一个语言的聊天室如何实现,以及功能的好坏,关键的技术点有3个:KV聊天室属性,关于信令SDK和API的设计,余哥也请臧其龙给出了详细的解答。KV聊天室属性KV聊天室属性提供话筒状态云存储和通知同步,可在20-40毫秒内快速同步任意数据库的增删改查,满足直播间连接、语音聊天等需求房间连接在mic、游戏mic等各种语音聊天场景中,不同的mic位置对应不同角色的同步能力,以及随时切换的定时能力。信令SDK信令SDK保证了有序性。在邀请和申请麦克风的场景下,可以避免频繁申请麦克风带来的混乱,也保证申请麦克风的人先到先得,用户体验更流畅。这两点对于自主开发的开发者来说是比较难的,但却是成功开发一款聊天室产品的关键技术点。对于聊天室产品的开发,易用与否,API设计是第三个关键技术点。臧其龙称之为“产品的门面”。API设计API设计:核心是符合用户的使用习惯,最自然的才是最合理的。例如:打开麦克风应该可以发语音,但是关闭麦克风只能听语音。为了易用性,融云一方面精简了SDK,将API总数控制在20个以内,从而降低了用户的学习成本。另一方面,在模型的设计上,赋予了用户很大的属性扩展自由度,以满足用户的各种创意需求,使功能的强大和功能的多样性。可以同时实现覆盖的场景。于哥发现,自从今年6月融云语言聊天室1.0上线以来,市面上开始出现名称不同但本质相似的产品形态,比如VoiceDemo、K歌房Demo等。对于开发者来说,如何判断和选择?容云还有优势吗?余哥仔细查看了这些demo的实现逻辑,发现融云还是有一定优势的。在开发难度上,“第三代SDK只需要了解产品概念,无论是基于SDK开发还是样例开发都可以轻松掌握。”也就是说,融云的场景化聊天室SDK是第三代方案最大的特点就是封装了场景相关的所有能力,不需要单独调用IM和RTCSDK。第二代解决方案目前被其他制造商使用。在开发难度上,开发者需要先了解IM和RTC的底层逻辑,然后再面对上百个API。二次开发。在实现逻辑上,第三代比第二代更简单,省去了很多底层逻辑的学习过程。余哥还了解到一个真实的小案例:“开发者首先使用某厂提供的二代方案进行二次开发,一个月没完成的项目,只用了两个月就完成了产品上线周。”臧启龙说,鱼聊室1.0上线以来,短短5个月时间,与他接触的20个客户中,有10个已经交付上线。他自己每天都在技术支持群与开发人员交流,最大的欣慰是开发人员的feedback:"看评论和API名称,基本可以掌握用法,学习成本低,开发效率高。》聊天室3.0会有哪些新功能?接下来容云聊天室3.0会有哪些新功能呢?大家搬小板凳坐下,羽哥可以“爆料”啦~用户相关的功能比如聊天室发送礼物、发送表情、接收消息等功能将进一步完善,推出一系列高性能Kit组件,如GiftKit、异步渲染的聊天室Kit等,这里可以关注融云从全研究院开发的聊天室异步渲染框架,使用该框架,可以保证全帧在极低端手机上运行,??给用户带来非常流畅的APP交互体验。开发者出海要考虑端不同地区的用户手机差异会非常大,如果低端手机在不发达国家的市场占有率比较高,那么全异步渲染f框架将是一个不错的选择。未来6个月,融云将开源8-10款高端高性能UI框架,同时满足iOS和Android,让开发者更方便的对接场景化SDK,快速构建优质产品。除了聊天室3.0,会议会议、1V1在线聊天、在线教育等场景化SDK,都在容云下一阶段的产品路线图上。最后,余哥如果能用一个词来概括这段开发经验,那就是“搭积木”。融云提供了上面的源码和打包好的SDK,相当于提供的积木,让开发者真正实现“开箱即用,即插即用”,从0到1,最短7天,一般三周也可以推出功能齐全的聊天室产品。开发者,尤其是中小企业的开发者,不需要自己搭建,不再为复杂的逻辑结构绞尽脑汁,也不需要花时间反复写代码,改bug。一句话,五个字从天而降,编码不成问题。
