更新记录

2.3.6(2023-04-18)

1.首次提交,修复通讯问题


平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 12.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 适用版本区间:9 - 16

原生插件通用使用流程:

  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原生插件配置”->”云端插件“列表中删除该插件重新选择


oldopenim 介绍

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

主要功能

发送消息类型

消息类型 备注
文本消息 消息内容为普通文本
图片消息 消息内容为图片 URL 地址、尺寸、图片大小等信息,包括原图、大图、缩略图
语音消息 消息内容为语音文件的 URL 地址、时长、大小、格式等信息;
视频消息 消息内容为视频文件的 URL 地址、时长、大小、格式等信息;
Tips 消息 包括群通知,例如例如有成员进出群组,群的描述信息被修改,群成员的资料发生变化等;也包括好友资料修改通知;
文件消息 消息内容为文件的 URL 地址、大小、格式等信息,格式不限
地理位置消息 消息内容为地理位置标题、经度、纬度信息
自定义消息 开发者任何自定义的消息类型

消息功能

功能类型 功能描述
离线消息 用户登录后退到后台,当有用户给其发消息时,即时通信 IM 支持离线推送
漫游消息 在新设备登录时,将服务器记录(云端)的历史消息存储进行同步,默认保存14天,开发者可以在配置文件中设置
多端同步 多终端消息同步,可同时收到消息
历史消息 支持本地历史消息和云端历史消息
消息撤回 撤回投递成功的消息,默认撤回 2 分钟内的消息,时间可以自行修改。撤回操作仅支持单聊和群聊消息
已读回执 查看单聊会话中对方的已读未读状态
@某人功能 @ 的人在收到消息时,需要在 UI 上做特殊展示和提醒
正在输入 对方在输入框输入时,展示在本端
消息删除 使用消息的 remove 方法可以在本地删除消息

使用方法

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

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

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

以下只展示初始化方法,具体的sdk api调用方式,请点击 官网


var im = uni.requireNativePlugin("Old-OpenIMSDK");
var event = uni.requireNativePlugin("globalEvent");

// 初始化im对象
export function im_init() {
  init_platform();
  const flag = im.initSDK(store.getters.operationID, {
    platform: store.getters.platform,
    api_addr: config.apiImAddr,
    ws_addr: config.wsImAddr,
    data_dir: plus.io.convertLocalFileSystemURL("_doc/"), //SDK数据存放目录
    log_level: 6,
    object_storage: "cos",
  });
  console.log('im init result: ', flag)
  setListener();
  setGlobalIMListener();
}

// 设置监听
function setListener() {
  im.setUserListener((res) => {
    console.log("setUserListener", res);
  });
  im.setFriendListener((res) => {
    console.log("setFriendListener", res);
  });
  im.setGroupListener((res) => {
    console.log("setGroupListener", res);
  });
  im.setAdvancedMsgListener((res) => {
    console.log("setAdvancedMsgListener", res);
  });
  im.setConversationListener((res) => {
    console.log("setConversationListener", res);
  });
  im.setBatchMsgListener((res) => {
    console.log("setBatchMsgListener", res)
  });
}

// 设置global event监听
function setGlobalIMListener() {
  /* 连接状态更新 */
  event.addEventListener("onConnectSuccess", (res) => {
    // do something
  });
}
  • 4.打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。

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

参考资料

官网文档

隐私、权限声明

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

安卓:本地文件储存空间 IOS:本地文件储存空间

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

1.本插件不采集任何数据,本插件使用的第三方SDK OpenIMSDK 也不采集任何数据。 2.本插件发送消息功能使用了 OpenIMSDK,详情请参考其官方网站 https://doc.rentsoft.cn/#/ ”

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

许可协议

作者未提供license.md

暂无用户评论。

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