Flutter Agora 全功能视频通话模块
技术栈
客户端: Dart, Flutter
服务器: Firebase firestore, Google cloud functions
技术
*Bloc 模式结合 Cubit 状态管理
*全实时数据消费(用户-历史-视频通话状态)
*所有通话状态的实时处理(呼叫中 – 接听 – 拒绝 – 取消 – 忙碌 – 未接 – 结束)
*整洁的代码和架构
*UI=>Cubit=>API 数据流
*Dio 包用于处理(生成 agora token – FCM)API
*FCM 通知(处理终止模式下的来电)
使用 nodejs 构建 token 生成器: https://www.youtube.com/watch?v=KcLypppA2IQ&ab_channel=Agora
演示视频 : https://www.youtube.com/watch?v=Ond-VhB11h4
入门
*创建一个新的 firebase 项目并设置 firestore,添加虚拟用户数据
*复制 FCM 授权密钥并粘贴到 constants.dart 文件中的 fcmKey 变量
*创建一个 agora 新项目并生成 token、channel name 以供测试,并将它们粘贴到 constants.dart 文件中的 (agoraAppId-agoraTestChannelName-agoraTestToken) 变量



