更新记录
3.8.2(2024-09-30) 下载此版本
由于插件市场不支持版本后缀,所以和openim-sdk-core版本号会出现对不上的情况,请注意 v3.8.0 -> v3.8.1 出现部分api参数变化,具体请查看官方文档。
3.8.2 对应的是 openim-sdk-core/releases/tag/v3.8.1 3.8.1 对应的是 openim-sdk-core/releases/tag/v3.8.1-rc.17 (中期测试版本) 3.8.0 对应的是 openim-sdk-core/releases/tag/v3.8.0
3.8.1(2024-08-27) 下载此版本
更新依赖
3.8.0(2024-08-12) 下载此版本
新增API: unInitSDK onUserTokenInvalid getJoinedGroupListPage uploadLogs onSyncServerProgress getUsersInGroup 调整API: onSyncServerFailed、onSyncServerFinish、onSyncServerStart 回调参数 修复API: addBlack joinGroup
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 14.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:9 - 17 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
OpenIM介绍
OpenIM:由前微信技术专家打造的基于 Go 实现的即时通讯(IM)项目,从服务端到客户端SDK开源即时通讯(IM)整体解决方案,可以轻松替代第三方IM云服务,打造具备聊天、社交功能的app。
主要功能
消息类型
消息类型 | 备注 |
---|---|
文本消息 | 消息内容为普通文本 |
图片消息 | 消息内容为图片 URL 地址、尺寸、图片大小等信息,包括原图、大图、缩略图 |
语音消息 | 消息内容为语音文件的 URL 地址、时长、大小、格式等信息; |
视频消息 | 消息内容为视频文件的 URL 地址、时长、大小、格式等信息; |
Tips 消息 | 包括群通知,例如例如有成员进出群组,群的描述信息被修改,群成员的资料发生变化等;也包括好友资料修改通知; |
文件消息 | 消息内容为文件的 URL 地址、大小、格式等信息,格式不限 |
地理位置消息 | 消息内容为地理位置标题、经度、纬度信息 |
自定义消息 | 开发者任何自定义的消息类型 |
消息功能
功能类型 | 功能描述 |
---|---|
离线消息 | 用户登录后退到后台,当有用户给其发消息时,即时通信 IM 支持离线推送 |
漫游消息 | 在新设备登录时,将服务器记录(云端)的历史消息存储进行同步,默认保存14天,开发者可以在配置文件中设置 |
多端同步 | 多终端消息同步,可同时收到消息 |
历史消息 | 支持本地历史消息和云端历史消息 |
消息撤回 | 撤回投递成功的消息,默认撤回 2 分钟内的消息,时间可以自行修改。撤回操作仅支持单聊和群聊消息 |
已读回执 | 查看单聊会话中对方的已读未读状态 |
@功能 | @ 的人在收到消息时,需要在 UI 上做特殊展示和提醒 |
正在输入 | 对方在输入框输入时,展示在本端 |
消息删除 | 使用消息的 remove 方法可以在本地删除消息 |
用户资料托管
功能 | 功能描述 |
---|---|
设置用户资料 | 用户设置自己的昵称、验证方式、头像、性别、年龄、位置等资料 |
获取用户资料 | 用户查看自己、好友及陌生人资料 |
按字段获取用户资料 | 按照特定字段获取用户资料 |
用户关系托管
功能 | 功能描述 |
---|---|
查找好友 | 可通过用户帐号 ID 查找好友 |
申请添加好友 | 要选择默认是否需要申请理由,目前是默认不需要 |
添加好友 | 发送添加好友请求 |
删除好友 | 成为好友后可以删除好友 |
获取所有好友 | 获取所有好友的详细信息 |
同意/拒绝好友 | 收到请求加好友请求的系统通知后,可以通过或者拒绝,处理后申请人能收到通知 |
添加用户到黑名单 | 把用户拉黑,如果此前是好友关系不解除好友关系,通过字段来标识为黑名单 |
移除黑名单 | 把用户从黑名单中移除 |
群组
功能 | 功能描述 |
---|---|
角色 | 可通过用户帐号 ID 查找好友 |
群资料修改 | 群主可以修改群头像、群名、群公告 |
申请加群 | 任何人可以提交加群申请 |
加群审批 | 群主审批或拒绝加群申请,申请人能收到审批结果 |
邀请加群 | 群成员可以邀请加群,无需经过被邀请人和群主同意 |
群主退群 | 群主退群前,需先转让群主 |
移出成员 | 群主把成员从群中踢出 |
转让群主 | 群主转让给新群主 |
成员变更通知 | 所有成员都能收到通知,包括成员进群、退群、邀请进群、成员被踢等 |
群资料变更通知 | 所有成员都能收到通知,包括群头像、群名、群公告被修改 |
集成步骤
云端插件方式
-
购买插件,选择该插件绑定的项目。
-
在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块
-
引入插件,调用插件功能
const openSdk = uni.requireNativePlugin('Tuoyun-OpenIMSDK'); const globalEvent = uni.requireNativePlugin('globalEvent'); //初始化SDK initOpenIMSDK(dbDir) { const platformID = uni.getSystemInfoSync().platform == 'ios'?1:2 const options = { platform: platformID, //平台类型 ipApi: "http://12.123.123.66:10000", //api域名地址 ipWs: "ws://12.123.123.66:17778", //websocket地址 dbDir, //SDK数据存放目录 }; this.flag = openSdk.initSDK(options); }, //监听回调 setInitListener(){ globalEvent.addEventListener("onConnectSuccess", (data) => { //connect success... }); }
Tips: 以上仅展示示例API,更多完整SDK API请点击这里查看
-
打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
-
开发完毕后正式云打包
离线插件方式
离线插件下载地址及使用文档
参考资料
示例工程(离线插件方式)