更新记录

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

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
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 查找好友
群资料修改 群主可以修改群头像、群名、群公告
申请加群 任何人可以提交加群申请
加群审批 群主审批或拒绝加群申请,申请人能收到审批结果
邀请加群 群成员可以邀请加群,无需经过被邀请人和群主同意
群主退群 群主退群前,需先转让群主
移出成员 群主把成员从群中踢出
转让群主 群主转让给新群主
成员变更通知 所有成员都能收到通知,包括成员进群、退群、邀请进群、成员被踢等
群资料变更通知 所有成员都能收到通知,包括群头像、群名、群公告被修改

集成步骤

云端插件方式

  1. 购买插件,选择该插件绑定的项目。

  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块

  3. 引入插件,调用插件功能

    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请点击这里查看

  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。

  5. 开发完毕后正式云打包

离线插件方式

离线插件下载地址及使用文档

参考资料

官方文档

示例工程(离线插件方式)

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

请参考开源项目地址的开源协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问