国内uniapp使用广泛,OpenIM的uniapp sdk以及文档和demo (https://github.com/OpenIMSDK/...)都已更新,本文主要展示如何打包、初始化、登录。
文章图片
离线插件方式下载最新离线插件git clone https://github.com/OpenIMSDK/...将下载下来的Tuoyun-OpenIMSDK文件夹整个放入uniapp项目根目录下的nativeplugins文件夹下(若没有该文件夹则新建)。
文章图片
打开uniapp项目根目录下manifest.json文件,打开App原生插件配置,选则本地插件进行导入。
文章图片
在项目中引入SDK及监听器。const openIM = uni.requireNativePlugin("Tuoyun-OpenIMSDK");
const event = uni.requireNativePlugin("globalEvent");
?export { openIM,event }项目云打包自定义调试基座。
文章图片
启动自定义调试基座需先选择运行基座为自定义调试基座
文章图片
插件市场云插件方式在dcloud插件市场为uniapp项目绑定云插件。选择后需要绑定对应包名。
文章图片
打开uniapp项目根目录下manifest.json文件,打开App原生插件配置,选则云端插件进行导入。
文章图片
余下步骤同上离线插件方式4-6。初始化SDK调用其他API之前必须先初始化SDK。im.initSDK(operationID, { // operationID为随机字符串即可 用于定位问题
platform: Platform,// 平台号 参考通用结构中Platform
api_addr: "http://121.37.25.71:10002",// IM API地址
ws_addr: "ws://121.37.25.71:10001",// IM Ws地址
data_dir:"data_dir",// SDK数据存放目录(绝对路径)
log_level: 6,// SDK日志级别
object_storage: "minio",// 图片等资源储存方式 目前支持"minio"、"cos"
});
设置监听设置监听的时机必须在初始化之后,登录之前。im.setUserListener(); // 用户相关监听
im.setFriendListener(); // 好友相关监听
im.setGroupListener(); // 群聊相关监听
im.setAdvancedMsgListener(); // 消息相关监听
im.setConversationListener(); // 会话相关监听
登录IM必须等待登录成功回调之后才能调用其他API(除初始化和设置监听) 如获取好友列表等。注意一定要等待成功回调im.login(
operationID,// operationID为随机字符串即可用于定位问题
userID,// 用户ID注意此userID要和token中的userID一致
token,// 用户token注意此token中的platform要和初始化的platform一致
(res) => {
if (res.errCode !== 0) {
// 登录失败
} else {
// 登录成功
}
}
【期盼已久全平台支持-开源IM项目OpenIM之uniapp更新】);
项目成果从服务端到客户端SDK开源即时通讯(IM)整体解决方案,可以轻松替代第三方IM云服务,并能根据业务需求高度自定义和二次开发,打造具备聊天、社交、办公功能的app。OpenIM继续领跑开源IM领域,在广大开发者的大力支持下,目前github star持续突破。越来越多的开发者把OpenIM应用在社交,协同办公领域。在运营过程中也暴露并修复了代码的一些bug,由于使用场景广泛,OpenIM越来越健壮,开源价值也凸显出来了。
文章图片
github地址: https://github.com/OpenIMSDK/...开发者中心:https://doc.rentsoft.cn/#/OpenIM是什么OpenIM是由IM技术专家打造的开源的由golang实现的即时通讯组件,目前github社区活跃,star近万,排名遥遥领先,开发者7000人,力争开源IM项目No1。支持Android、iOS原生开发,支持Flutter、uni-app跨端开发,支持小程序、React等所有主流web前端技术框架, PC支持Electron,Flutter、iOS、uniapp已有成熟demo可以体验。。OpenIM包括IM服务端和客户端SDK,实现了高性能、轻量级、易扩展等重要特性。开发者通过集成OpenIM组件,并私有化部署服务端,可以将即时通讯、实时网络能力快速集成到自身应用中,并确保业务数据的安全性和私密性。
推荐阅读
- GPU|Nvidia CUDA初级教程1 CPU体系架构综述
- #|【数字IC】深入浅出理解AXI协议
- 程序人生|IDEA 版 Postman 面世了,功能真强大
- 面试|如何实现丝滑般的数据库扩容
- 后端|分布式锁用 Redis 还是 Zookeeper(看完你就明白了)
- AI芯片|存算一体——后摩尔时代的AI芯片架构
- 阅读笔记|GIN(图神经网络有多强大? HOW POWERFUL ARE GRAPH NEURALNET WORKS)
- 后台|nginx网关与gateway网关的区别
- spring|Spring Cloud构建分布式微服务架构 - 企业分布式微服务云架构构建