声网rtc的SDK兼容性列表

声网rtc的SDK兼容性列表:开发者最关心的都在这里

作为一个开发者,选择rtc sdk的时候,兼容性绝对是你最关心的问题之一。毕竟,谁也不想开发到一半发现这个SDK不支持自己的目标平台,或者和现有的技术栈打架。我整理了声网rtc sdk的兼容性信息,都是实打实的干货,希望能帮你少走弯路。

先说句题外话,很多人在选择RTC服务的时候会被各种技术指标搞晕,但我想说的是,兼容性其实比账面上的参数更重要。一个SDK再好,如果和你的技术栈不匹配,后期维护成本会高得吓人。下面我就从各个维度来说明声网RTC SDK的兼容情况。

移动端操作系统支持

移动端是RTC应用的主战场,这块的兼容性必须搞清楚。声网在这方面做得相当全面,主流的移动操作系统都在支持列表里。

Android平台

Android这块,声网RTC SDK支持Android 5.0及以上版本。也就是说,如果你的APP目标用户群体比较大众,这个版本覆盖率是完全没有问题的。需要提醒的是,虽然SDK本身支持5.0,但如果你用到了某些高级特性,可能需要更高的系统版本,这个在具体的功能文档里会有说明。

在芯片架构方面,声网RTC SDK支持ARM64和ARMv7两种架构。需要注意的是,2021年8月起,Google Play要求新应用必须支持ARM64架构,所以如果你的APP要上架Google Play,在集成的时候要注意选择对应的SDK版本。另外,国内有些设备可能还在用x86架构模拟器做测试,虽然声网也有x86的支持,但正式环境还是建议以ARM架构为主。

iOS平台

iOS这边相对简单一些,声网RTC SDK支持iOS 13.0及以上版本。这个版本要求其实是比较合理的,目前iOS设备的版本分布里,iOS 13及以上的设备占比非常高。如果你还在维护一个很老的APP,需要考虑升级成本的话,可以算一下用户群体里还有多少人在用iOS 13以下的设备。

关于iOS的架构支持,SDK是全面支持ARM64架构的,这个没有太多可说的,苹果生态在这块一向比较统一。需要注意的是,如果你的APP需要支持iOS模拟器调试,声网也提供了对应的模拟器版本SDK,但生产环境肯定是要用真机版本的。

桌面端操作系统支持

除了移动端,现在很多RTC场景也跑在桌面上。比如在线教育、远程会议这些场景,桌面端的需求量也很大。

Windows方面,声网RTC SDK支持Windows 7及以上的操作系统版本。这里有个小细节,Windows 7虽然已经被微软停止支持了,但国内还是有一些企业用户和政务系统在用,所以声网选择继续支持也算是一个务实的决定。在架构上,SDK同时支持x64和x86架构,但x64现在是绝对的主流。

macOS这边,支持10.13(High Sierra)及以上的版本。同样,这个版本覆盖率は比较高。架构上支持Apple Silicon和Intel芯片两种,这个对用Mac做开发的同学来说应该是基本常识了。值得一提的是,声网对M系列芯片的优化做得不错,如果是新采购开发设备,Apple Silicon的Mac体验会更好。

Web端和跨平台开发支持

现在很多团队在做跨平台开发,或者直接基于Web来提供服务,这块的兼容性也要搞清楚。

Web浏览器支持

Web端声网提供了基于webrtc的实现方案,兼容性主要取决于浏览器对webrtc的支持程度。主流的现代浏览器都没有问题,包括Chrome、Firefox、Safari和Edge的最新几个版本。需要注意的是,Safari在Mac和iOS上的表现有时候会有细微差异,特别是在回声消除和降噪方面,如果你的场景对音质要求比较高,建议在两个平台上都好好测试一下。

还有一点要提醒,Web端的兼容性列表其实是在不断变化的。浏览器厂商经常更新版本,有些特性可能会受到影响。所以如果你的产品需要支持很多年前的浏览器版本,最好先确认一下具体的情况。

跨平台开发框架

对于使用Flutter、React Native、UniApp这些跨平台框架的开发者,声网也提供了对应的插件支持。Flutter插件支持Android和iOS双平台,React Native的情况也类似。需要注意的是,跨平台SDK的版本更新可能会比原生SDK慢一些,如果你需要用到的某个新特性刚在原生SDK上发布,可能需要等一段时间才能在跨平台SDK上用到。

另外,使用跨平台框架的时候,建议特别关注一下音视频采集这块的处理。因为不同框架对原生模块的封装方式不一样,有时候可能会遇到权限配置之类的问题。声网的文档里对这块有专门的说明,集成之前建议先看一下。

开发语言和技术栈兼容

说完运行环境,再来看看开发层面的兼容性问题。毕竟买SDK是用来写的,如果和现有的技术栈不兼容,那可就头疼了。

原生开发方面,Android端支持Java和Kotlin两种语言,iOS端支持Objective-C和Swift。这些都是对应平台的官方语言,没什么好说的,选你熟悉的就行。我个人的感觉是,新项目的话直接上Kotlin或者Swift就行,老项目如果维护成本高,混合着用也没什么问题。

服务端这边,声网提供了多种语言的SDK,包括Java、Python、Go、Node.js、PHP和C++等。服务端SDK主要用于房间管理、鉴权、计量统计这些功能,选择哪种语言主要看你服务端的技术栈是什么。需要注意的是,服务端SDK的版本号和客户端SDK的版本号是独立管理的,不要搞混了。

网络和协议支持

RTC对网络的依赖性很强,这块的兼容性也值得关注。

声网RTC SDK支持UDP和TCP两种传输协议,默认情况下会优先使用UDP,因为延迟更低。但在某些网络环境下(比如企业防火墙后面),UDP可能被限制,这时候SDK会自动切换到TCP模式。虽然TCP模式下延迟会高一些,但至少能保证可用性。

关于代理和网关的支持,声网SDK内置了多种网络穿透方案,大部分情况下都能很好地处理复杂的网络环境。如果你的用户群体里有大量企业用户,可能需要关注一下SDK对企业代理的支持情况,必要的时候可以联系声网的技术支持获取更详细的指导。

还有一点值得一提的是,声网的全球布点做得不错,SDK会自动选择最优的接入点。对于有海外业务需求的团队来说,这是一个重要的考量因素。毕竟,如果用户在国外,接入点选得不好,延迟和稳定性都会受影响。

硬件和设备兼容性

前面说的都是系统和软件层面的兼容,硬件这块也有必要提一下。

在移动设备上,声网RTC SDK对主流的机型都做了适配。但安卓的碎片化是个老问题,如果你的目标用户群体里有很多使用小众品牌或者定制ROM设备的,建议在测试阶段多覆盖一些机型。我知道的,声网内部应该有做大量机型的测试,但如果你发现了什么兼容性问题,提交给他们通常会得到响应。

外接设备方面,USB摄像头、麦克风这些常见的设备都是支持的。但如果是比较特殊的专业设备,比如专业的会议系统或者采集卡,可能需要额外配置一下。声网的文档里有提到一些常见外设的配置方法,遇到问题可以先翻一下文档。

另外,现在很多设备有多个摄像头或者麦克风,SDK支持多路采集,具体怎么用可以看API文档。如果你的场景需要切换前后摄像头或者使用外部麦克风,这些都是基本功能。

版本兼容和升级注意事项

SDK版本升级是很多团队关心的问题,这里说几点注意事项。

声网的SDK版本号遵循语义化版本规范,大版本号升级通常会有破坏性变更,小版本号是向后兼容的。所以如果你的APP已经在生产环境运行,升级小版本通常比较安全,但大版本升级之前一定要仔细看更新日志和迁移指南。

关于旧版本的支持时间表,建议关注一下声网的官方公告。他们通常会提前通知哪些版本即将停止维护,这样你有充足的时间做升级计划。一直用太老的版本总会有风险,一方面是可能有安全漏洞,另一方面是遇到问题的时候社区和官方支持的力度都会下降。

SDK类型 支持平台 最低系统版本 主要开发语言
移动端Android Android手机/平板 Android 5.0+ Java / Kotlin
移动端iOS iPhone / iPad iOS 13.0+ Objective-C / Swift
桌面端Windows Windows PC Windows 7+ C++
桌面端macOS Mac电脑 macOS 10.13+ Objective-C / Swift
Web端 现代浏览器 最新2-3个主版本 JavaScript / TypeScript
服务端 服务器环境 无特殊要求 Java / Python / Go / Node.js等

一些实际集成中的建议

说了这么多,最后分享几个实际集成中可能用得上的小建议。

第一,测试一定要充分。特别是网络切换场景,比如WiFi切到4G,或者网络从好变差再变好的情况,SDK的自动恢复机制是不是正常工作,这些都要测。声网提供的调试工具可以帮助你看到很多底层的信息,善用这些工具能省不少事。

第二,权限配置不要漏。Android的录音权限、相机权限,iOS的隐私描述,这些配置如果漏了,功能用不起来排查起来还挺费劲的。声网的快速开始文档里都有,照着走一般不会有问题。

第三,如果你的APP需要上架App Store或者Google Play,注意一下音视频相关的隐私政策要求。这块的政策时不时会变,具体以最新的官方要求为准。

好了,关于声网RTC SDK的兼容性情况就说到这里。如果有什么没覆盖到的地方,可以去声网的官网看更详细的文档,或者直接联系他们的技术支持。希望这篇文章能帮到你,祝开发顺利。

上一篇声网 sdk 的旁路推流功能配置及应用
下一篇 声网 rtc 的 SDK 兼容性的解决技巧

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱:

工作时间:周一至周五,9:00-17:30,节假日休息
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

手机访问
手机扫一扫打开网站

手机扫一扫打开网站

返回顶部