更新记录
2.3.6(2023-04-18) 下载此版本
1.首次提交,修复通讯问题
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 12.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:9 - 16 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在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原生插件配置”->”云端插件“列表中删除该插件重新选择
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.开发完毕后正式云打包