最近正纠结如何在 Flutter 上实现 webRTC 的功能,而 Flutter 在原生支持上,远不如 React Native 方便,而本身实现是不可能的,这辈子都不可能的,最后让我终于在 github 上发现了这个 AgoraIO/Flutter-SDK ,顺藤摸瓜发现原来是一家叫声网的 SDK ,它家的 webRTC 系列竟然是全平台制霸的,妥了!!!git
感觉下,加上 Flutter 版本,要知道如今好多大企业平台都没有 Flutter 甚至 React Native 版本的 SDK,残念啊,连阿里云日志都要本身写一遍插件····程序员
这时候我不由好奇,是什么勇气让 AgoraIO 兼容开发这么多平台的?github
查找源码发现,原理 AgoraIO 并无在 Flutter
上单独实现一个版本,而是经过 Flutter
的 PlatformView
机制把 Andriod 和 IOS 的功能继承进来,而在 Android 和 IOS 上的关键代码,都是经过 C++ 实现的,这样保证了能够在多个平台上,经过交叉编译的方式实现核心逻辑的跨平台,机智机智啊。web
不过 PlatformView 在 Android 上的性能让人担心啊。app
接下来就是接入了,首先咱们须要在开发者中心注册一个帐号,而后通建立一个应用post
经过应用咱们能够拿到一个 appid ,标准套路,以后就能够直接使用 AgoraIO 的服务了,同时 AgoraIO 还提供各种的数据分析,em...仍是标准套路。性能
以后咱们就能够经过 pub 下载 AgoraIO/Flutter-SDK
了,推荐然先经过 Sdk 自带的 Demo 测试一波了。测试
Demo 这里有个小问题,在 Flutter 中没有作权限申请处理,全部须要本身去设置中打开,并且 Flutter Demo 中只作了加入房间,若是须要预览要本身加上带啊嘛,因此在同步显示上我用了 Android 的 DEMO。阿里云
后面的使用方式就很少介绍了,真的值得安利,毕竟让程序员从0开始完成一套 WebRTC 是不科学的,相信后台的工做量会更痛苦吧,无论怎么说,流程是跑通了,可行性也没问题,那么接下来就是如何说服老板去充值了。插件