写点什么

# 补齐短板 - 开源 IM 项目 OpenIM 关于初始化 / 登录 / 好友接口文档介绍

作者:Geek_1ef48b
  • 2022 年 6 月 26 日
  • 本文字数:1402 字

    阅读完需:约 5 分钟

# 补齐短板-开源IM项目OpenIM关于初始化/登录/好友接口文档介绍

OpenIM 文档方面的建设一直远远落后于开发, 也经常被开发者诟病,在接下来一周的时间里,我们重点补齐文档,让开发者更轻松接入。由于 app sdk 底层都是 go 来实现,所以本文先写一个模板和框架,在接下来的时间里,会有 iOS、Android、Flutter、Uniapp、jssdk 同事补充具体的细节,并更新到官网



初始化及登录

初始化并登录成功回调,是正常使用 OpenIM 服务的前提



OpenIM 和调用方利用监听回调机制,和调用方信息互通,把登录状态通过异步回调方式即时传递给调用方,确保信息及时传达而不阻塞其主线程。

监听说明

调用流程

OpenIM 调用流程分为如下几步:


(1)初始化:在整个生命周期执行一次


(2)设置监听:包括群组监听,好友监听,用户监听,消息及会话监听,这些监听会在其他章节中描述


(3)登录:登录回调成功后再执行其他操作,否则可能出现资源加载未完成的错误


(4)收发消息等操作;

好友管理相关接口

OpenIM 提供好友关系托管,比如好友申请,同意,以及好友获取等,OpenIM 在客户端本地存储好友关系,并结合消息通知机制,按需调用后台接口,确保本地和服务端数据一致。同时利用监听机制,把数据变化通过异步回调传达调用方。OpenIM 在收发消息时,默认不检查好友关系,您可以在配置文件中自行修改。OpenIM 好友关系是双向关系,A 添加 B 为好友后,则 A 在 B 的好友列表中,B 也在 A 的好友列表中,A 删除 B,仅仅只是删除 A 的好友列表,而 B 的好友列表不受影响。同样,黑名单也类似。



监听说明

好友监听器的作用:调用方设置好友监听,好友关系的变化会通过 OpenIM 消息机制实时同步到需要感知的在线用户,包括用户的其他端,调用方根据回调事件做相关的数据处理。


比如用户 B 在 Android 端添加用户 A 为好友,用户 A(所有在线的终端)收到 B 的好友申请,则 A 调用 GetRecvFriendApplicationList 获取收到的好友申请列表,刷新界面。同时,用户 B 在线其他的终端比如 PC 端也会收到通知,B 调用 GetSendFriendApplicationList 获取发起的好友申请列表,刷新 B 发出的好友申请列表。


当然也可以利用回调的参数信息,做增量处理,而不用获取全量的好友申请列表。


以用户 B 申请添加用户 A 为例


项目介绍

OpenIM 继续领跑开源 IM 领域,在广大开发者的支持下,目前 github star 突破 9k。在数据泄露、信息外泄、隐私滥用的时代,IM 私有化部署需求旺盛。其中,政企协同办公对 IM 需求猛增,随着信息化技术的迭代升级以及信创产业加速落地和实践,协同办公软件的发展潜力将进一步被释放。“安全可控“逐步成为第一要素。对于社区交友领域,暴露出的隐私安全问题越来越多,私有化部署确保用户数据不泄露。


OpenIM 从服务端到客户端 SDK 开源即时通讯(IM)整体解决方案,可以轻松替代第三方 IM 云服务,打造具备聊天、社交、办公功能的 app。



github 地址: https://github.com/OpenIMSDK/Open-IM-Server


开发者中心:https://doc.rentsoft.cn/#/

OpenIM 团队

创始团队来自资深 IM 技术团队,我们致力于用开源技术创造服务价值,打造轻量级、高可用的 IM 架构,开发者只需简单调用 SDK,即可在应用内构建多种即时通讯及实时音视频互动场景。OpenIM 优势:开源,安全,可靠,低成本。对于信息安全重视的电子政务,企业协同办公,OpenIM 都是非常好的选择。


从公司成立之初就将“开源”作为核心战略来推进,开源充分体现了自由、平等、分享的互联网精神。


OpenIM 邀请全球技术极客参与技术优化,让开发者轻松集成,让每一个应用都具备 IM 功能,同时考虑企业的接入成本、服务器资源以及最重要的数据安全性和私密性。

用户头像

Geek_1ef48b

关注

还未添加个人签名 2021.08.25 加入

还未添加个人简介

评论

发布
暂无评论
# 补齐短板-开源IM项目OpenIM关于初始化/登录/好友接口文档介绍_Geek_1ef48b_InfoQ写作社区