零基础构建即时通讯开源项目OpenIM移动端-Flutter篇

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
日志服务 SLS,月写入数据量 50GB 1个月
简介: OpenIM 为开发者提供开源即时通讯 SDK,作为 Twilio、Sendbird 等云服务的替代方案。借助 OpenIM,开发者可以构建安全可靠的即时通讯应用,如 WeChat、Zoom、Slack 等。本仓库基于开源版 OpenIM SDK 开发,提供了一款基于 Flutter 的即时通讯应用。您可以使用此应用程序作为 OpenIM SDK 的参考实现。开发环境在开始开发之前,请确保您的系统已安装以下软件:操作系统:macOS 14.6 或更高版本Flutter:版本 3.24.5(根据官网步骤进行安装)Git:用于代码版本控制同时,您需要确保已经部署了最

OpenIM 为开发者提供开源即时通讯 SDK,作为 Twilio、Sendbird 等云服务的替代方案。借助 OpenIM,开发者可以构建安全可靠的即时通讯应用,如 WeChat、Zoom、Slack 等。

本仓库基于开源版 OpenIM SDK 开发,提供了一款基于 Flutter 的即时通讯应用。您可以使用此应用程序作为 OpenIM SDK 的参考实现。
1.jpg
2.jpg

开发环境

在开始开发之前,请确保您的系统已安装以下软件:

操作系统:macOS 14.6 或更高版本

Flutter:版本 3.24.5(根据官网步骤进行安装)

Git:用于代码版本控制

同时,您需要确保已经部署了最新版本的 OpenIM Server。接下来,您可以编译项目并连接自己的服务端进行测试。

运行环境

本应用支持以下操作系统版本:

操作系统版本状态

iOS13.0 及以上✅

AndroidminSdkVersion 24✅

说明

Flutter:确保您的版本符合要求,以避免依赖问题。

快速开始

按照以下步骤设置本地开发环境:

拉取代码

git clone https://github.com/openimsdk/open-im-flutter-demo.git

cd open-im-flutter-demo

安装依赖

flutter clean

flutter pub get

修改配置

如果没有修改过服务端默认端口,则只需要修改_host为您的服务器 ip 即可。

static const _host = "your-server-ip or your-domain";

通过终端执行 flutter run 或者IDE的启动菜单来运行iOS/Android应用程序。

开始开发测试!

音视频通话

开源版支持一对一音视频通话,并且需要先部署并配置服务端。多人音视频通话、视频会议请联系邮箱 contact@openim.io

构建

该项目允许分别构建 iOS 应用程序和 Android 应用程序,但在构建过程中会有一些差异。

iOS:flutter build ipa

Android:flutter build apk

构建结果将位于 build 目录下。

功能列表

说明

功能模块功能项状态

账号功能手机号注册\邮箱注册\验证码登录✅

个人信息查看\修改✅

多语言设置✅

修改密码\忘记密码✅

好友功能查找\申请\搜索\添加\删除好友✅

同意\拒绝好友申请✅

好友备注✅

是否允许添加好友✅

好友列表\好友资料实时同步✅

黑名单功能限制消息✅

黑名单列表实时同步✅

添加\移出黑名单✅

群组功能创建\解散群组✅

申请加群\邀请加群\退出群组\移除群成员✅

群名/群头像更改/群资料变更通知和实时同步✅

群成员邀请进群✅

群主转让✅

群主、管理员同意进群申请✅

搜索群成员✅

消息功能离线消息✅

漫游消息✅

多端消息✅

历史消息✅

消息删除✅

消息清空✅

消息复制✅

单聊正在输入✅

新消息勿扰✅

清空聊天记录✅

新成员查看群聊历史消息✅

新消息提示✅

文本消息✅

图片消息✅

视频消息✅

表情消息✅

文件消息✅

语音消息✅

名片消息✅

地理位置消息✅

自定义消息✅

会话功能置顶会话✅

会话已读✅

会话免打扰✅

REST API认证管理✅

用户管理✅

关系链管理✅

群组管理✅

会话管理✅

消息管理✅

Webhook群组回调✅

消息回调✅

推送回调✅

关系链回调✅

用户回调✅

容量和性能1 万好友✅

10 万人大群✅

秒级同步✅

集群部署✅

互踢策略

在线状态所有平台不互踢✅

每个平台各只能登录一个设备✅

PC 端、移动端、Pad 端、Web 端、小程序端各只能登录一个设备✅

PC 端不互踢,其他平台总计一个设备✅

音视频通话一对一音视频通话✅

文件类对象存储支持私有化部署 minio✅

支持 COS、OSS、Kodo、S3 公有云✅

推送消息在线实时推送✅

消息离线推送,支持个推,Firebase✅

更多高级功能、音视频通话、视频会议 请联系邮箱 contact@openim.io

加入社区

加入我们的 Slack 社区

加入我们的微信群

常见问题

  1. 是否支持多语言?

答:支持,默认跟随系统语言。

  1. 支持哪些平台?

答:目前 Demo 支持 Android 和 iOS。

  1. Android 安装包的 debug 版本可以运行,但 release 启动是白屏?

答:Flutter 的 release 包默认会进行混淆,可以使用以下命令:

flutter build release --no-shrink

如果此命令无效,可以在 android/app/build.gradle 文件的 release 配置中添加以下代码:

release {

  minifyEnabled false

  useProguard false

  shrinkResources false

}

  1. 如果代码必须混淆该怎么办?

答:在混淆规则中添加以下配置:

-keep class io.openim.*{ ;}

-keep class open_im_sdk.*{ ;}

-keep class open_im_sdk_callback.*{ ;}

  1. Android 安装包无法安装在模拟器上?

答:由于 Demo 移除了一些 CPU 架构,如果需要在模拟器上运行,请在 android/build.gradle 配置中添加以下内容:

ndk {

  abiFilters "armeabi-v7a",  "x86"

}

  1. iOS 运行/打包 release 包时报错?

答:请将 CPU 架构设置为 arm64,然后按以下步骤操作:

执行 flutter clean

执行 flutter pub get

cd ios/

rm -f Podfile.lock

rm -rf Pods

执行 pod install

连接真机后运行 Archive。

3.jpg

  1. iOS 最低运行版本是多少?

答:13.0

关于OpenIM
4.jpg

作为开源即时通讯(IM)领域的先驱,OpenIM 已在 GitHub 获得超过 15,000 star,。随着数据保护和隐私安全日益受到重视,越来越多的组织选择私有部署 IM 解决方案,这与国内软件行业的快速增长相得益彰。OpenIM几乎支持所有SDK,iOS、Android、Flutter、Uniapp、jssdk等。

github: 仓库地址

developer: 开发文档

目录
相关文章
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
PAI Model Gallery 支持云上一键部署 DeepSeek-V3、DeepSeek-R1 系列模型
DeepSeek 系列模型以其卓越性能在全球范围内备受瞩目,多次评测中表现优异,性能接近甚至超越国际顶尖闭源模型(如OpenAI的GPT-4、Claude-3.5-Sonnet等)。企业用户和开发者可使用 PAI 平台一键部署 DeepSeek 系列模型,实现 DeepSeek 系列模型与现有业务的高效融合。
|
3天前
|
人工智能 搜索推荐 Docker
手把手教你使用 Ollama 和 LobeChat 快速本地部署 DeepSeek R1 模型,创建个性化 AI 助手
DeepSeek R1 + LobeChat + Ollama:快速本地部署模型,创建个性化 AI 助手
1820 97
手把手教你使用 Ollama 和 LobeChat 快速本地部署 DeepSeek R1 模型,创建个性化 AI 助手
|
1月前
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
阿里云与企业共筑容器供应链安全
171370 16
|
10天前
|
Linux iOS开发 MacOS
deepseek部署的详细步骤和方法,基于Ollama获取顶级推理能力!
DeepSeek基于Ollama部署教程,助你免费获取顶级推理能力。首先访问ollama.com下载并安装适用于macOS、Linux或Windows的Ollama版本。运行Ollama后,在官网搜索“deepseek”,选择适合你电脑配置的模型大小(如1.5b、7b等)。通过终端命令(如ollama run deepseek-r1:1.5b)启动模型,等待下载完成即可开始使用。退出模型时输入/bye。详细步骤如下图所示,轻松打造你的最强大脑。
8211 86
|
1月前
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
随着云计算和DevOps的兴起,容器技术和自动化在软件开发中扮演着愈发重要的角色,但也带来了新的安全挑战。阿里云针对这些挑战,组织了一场关于云上安全的深度访谈,邀请了内部专家穆寰、匡大虎和黄竹刚,深入探讨了容器安全与软件供应链安全的关系,分析了当前的安全隐患及应对策略,并介绍了阿里云提供的安全解决方案,包括容器镜像服务ACR、容器服务ACK、网格服务ASM等,旨在帮助企业构建涵盖整个软件开发生命周期的安全防护体系。通过加强基础设施安全性、技术创新以及倡导协同安全理念,阿里云致力于与客户共同建设更加安全可靠的软件供应链环境。
150306 32
|
23小时前
|
人工智能 自然语言处理 JavaScript
宜搭上新,DeepSeek 插件来了!
钉钉宜搭近日上线了DeepSeek插件,无需编写复杂代码,普通用户也能轻松调用强大的AI大模型能力。安装后,平台新增「AI生成」组件,支持创意内容生成、JS代码编译、工作汇报等场景,大幅提升工作效率。快来体验这一高效智能的办公方式吧!
822 5
|
2天前
|
API 开发工具 Python
阿里云PAI部署DeepSeek及调用
本文介绍如何在阿里云PAI EAS上部署DeepSeek模型,涵盖7B模型的部署、SDK和API调用。7B模型只需一张A10显卡,部署时间约10分钟。文章详细展示了模型信息查看、在线调试及通过OpenAI SDK和Python Requests进行调用的步骤,并附有测试结果和参考文档链接。
617 5
阿里云PAI部署DeepSeek及调用
|
10天前
|
人工智能 自然语言处理 Java
Spring AI,搭建个人AI助手
本期主要是实操性内容,聊聊AI大模型,并使用Spring AI搭建属于自己的AI助手、知识库。本期所需的演示源码笔者托管在Gitee上(https://gitee.com/catoncloud/spring-ai-demo),读者朋友可自行查阅。
930 41
Spring AI,搭建个人AI助手
|
3天前
|
机器学习/深度学习 人工智能 并行计算
一文了解火爆的DeepSeek R1 | AIGC
DeepSeek R1是由DeepSeek公司推出的一款基于强化学习的开源推理模型,无需依赖监督微调或人工标注数据。它在数学、代码和自然语言推理任务上表现出色,具备低成本、高效率和多语言支持等优势,广泛应用于教育辅导、金融分析等领域。DeepSeek R1通过长链推理、多语言支持和高效部署等功能,显著提升了复杂任务的推理准确性,并且其创新的群体相对策略优化(GRPO)算法进一步提高了训练效率和稳定性。此外,DeepSeek R1的成本低至OpenAI同类产品的3%左右,为用户提供了更高的性价比。
754 10
|
2月前
|
弹性计算 人工智能 安全
对话 | ECS如何构筑企业上云的第一道安全防线
随着中小企业加速上云,数据泄露、网络攻击等安全威胁日益严重。阿里云推出深度访谈栏目,汇聚产品技术专家,探讨云上安全问题及应对策略。首期节目聚焦ECS安全性,提出三道防线:数据安全、网络安全和身份认证与权限管理,确保用户在云端的数据主权和业务稳定。此外,阿里云还推出了“ECS 99套餐”,以高性价比提供全面的安全保障,帮助中小企业安全上云。
201994 15
对话 | ECS如何构筑企业上云的第一道安全防线