Flutter快速搭建聊天

之前项目中使用的环信聊天,我们的App使用的Flutter开发的 。

所以,就使用的 em_chat_uikit ,这个是环信开发的Flutter版本的聊天。

一开始,我们也用的环信的聊天,是收费的,但是,后面就发现,我们的量其实没那么大,使用环信的话,交的钱买到的服务,其实对于我们来说是过剩的。 于是,就自己搭建了聊天,这样也就不用付费了。

问题也来了, 之前聊天功能直接集成的 em_chat_uikit 直接就可以用的。 现在自己搭建的话,那岂不是要重新开发界面。 经过测试,发现可以继续使用 em_chat_uikit 来开发聊天。

如上图,我集成的是 em_uikit_chat 2.0.3 版本,其实把这些 actions 文件夹里的方法,都对接到自己的后台API,就可以搞定了 。

经过测试,完全可行, 我是代码集成了em_uikit_chat ,所以,聊天的界面,对接的接口,都直接在这个 em_uikit_chat 内来改, 这样,以后如果有新的项目启动,也可以把聊天模块直接搬到别的项目来使用。

数据库一共建了4张表,会话列表、用户信息、好友列表、聊天记录列表,也是按照 em_uikit_chat 的格式对应字段来创建的。 这样,本地存储就解决了。

后台实现的接口大概有 20 个接口, em_uikit_chat 的命名还是很规范的,所以,按照你们的需求,往里面填充就好了; 整个过程还是挺顺利的。

另外,就是环信他是有技术支持的,所以,你懂的,em_uikit_chat 内如果有不懂的地方,也可以去找环信咨询。 真可wei是,把hao羊毛搞到了极致了。 哈哈。 主要我们体量还没那么大,每个月付几千的费在聊天上,确实浪费; 自己搭建一个可以满足需求,又能免掉这个费用。 还是值得的。 当然,后期用户量如果很大了, 我们这样集成 em_uikit_chat 的话,也能一键切回到环信。

其实,还有一个原因,那就是环信的Flutter版他并没有适配鸿蒙,他的em_uikit_chat是纯Flutter的,这个迁移到鸿蒙不会有什么问题。 问题就在于em_uikit_chat 依赖 im_flutter_sdk ,这个 im_flutter_sdk 又对接的Native的聊天sdk,也就是对应的 Android、ios、鸿蒙都有原生的sdk,偏偏 im_flutter_sdk 与鸿蒙原生sdk之间的桥接,环信一直没有去实现。 这就导致,哪怕我们集成了em_uikit_chat 也还是不支持鸿蒙的。

所以,这次自己搭建聊天后台, 就能解决这个问题了, 我们的项目不再去依赖Native的聊天sdk了,websocket通信,还有那20多个接口,都在Flutter实现了, 这样以来,也能解决了适配鸿蒙的问题。

相关推荐
走在路上的菜鸟15 小时前
Android学Flutter学习笔记 第四节 Android视角认知Flutter(input)
android·学习·flutter
牛马1111 天前
WidgetsFlutterBinding.ensureInitialized()在 Flutter Web 端启动流程的影响
java·前端·flutter
Swift社区1 天前
Flutter 页面为什么会频繁 rebuild?如何定位和优化?
flutter·前端框架·node.js
消失的旧时光-19431 天前
从 Java 接口到 Dart freezed:一文彻底理解 Dart 的数据模型设计
java·开发语言·flutter·dart
kirk_wang1 天前
将 Flutter 条码扫描插件 `flutter_barcode_scanner` 适配到鸿蒙平台:一次深度实践
flutter·移动开发·跨平台·arkts·鸿蒙
卖火箭的小男孩1 天前
Flutter 开发代码规范(优化完善版)
flutter·代码规范
消失的旧时光-19431 天前
从 Android 组件化到 Flutter 组件化
android·flutter·架构
kirk_wang1 天前
Flutter三方库鸿蒙适配实战:让flutter_sms在HarmonyOS上跑起来
flutter·移动开发·跨平台·arkts·鸿蒙
牛马1112 天前
Flutter Web性能优化标签解析
前端·flutter·性能优化
恋猫de小郭2 天前
Flutter 3.38.1 之后,因为某些框架低级错误导致提交 Store 被拒
android·前端·flutter