国内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 { // 登录胜利 }}
);
我的项目成绩从服务端到客户端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组件,并私有化部署服务端,能够将即时通讯、实时网络能力疾速集成到本身利用中,并确保业务数据的安全性和私密性。