本文主要介绍如何快速将腾讯云即时通信 IM SDK 集成到您的 Web、小程序、uni-app 项目中。
IM SDK 文件结构
集成 SDK
通过 npm 方式将 IM SDK 集成到您的 Web、小程序、uni-app 项目中。
通过集成上传插件 tim-upload-plugin,实现更快更安全的富文本消息资源上传。
通过集成推送插件 TencentCloud-TIMPush, 实现 uni-app 打包 Native App 推送能力。
npm 集成(推荐)
在您的项目中使用 npm 安装相应的 IM SDK 依赖。
npm install @tencentcloud/chat// 发送图片、文件等消息需要腾讯云即时通信 IM 上传插件npm install tim-upload-plugin --save
说明:
若同步依赖过程中出现问题,请切换 npm 源后再次重试。
npm config set registry http://r.cnpmjs.org/
引入模块
// 如果您已集成 v2.x 的 SDK,想升级到 V3 并且想尽可能地少改动项目代码,可以继续沿用 TIM// import TIM from '@tencentcloud/chat';import TencentCloudChat from '@tencentcloud/chat';import TIMUploadPlugin from 'tim-upload-plugin';let options = {SDKAppID: 0 // 接入时需要将0替换为您的即时通信 IM 应用的 SDKAppID};// 创建 SDK 实例,`TIM.create()`方法对于同一个 `SDKAppID` 只会返回同一份实例let chat = TencentCloudChat.create(options); // SDK 实例通常用 chat 表示chat.setLogLevel(0); // 普通级别,日志量较多,接入时建议使用// chat.setLogLevel(1); // release 级别,SDK 输出关键信息,生产环境时建议使用// 注册腾讯云即时通信 IM 上传插件chat.registerPlugin({'tim-upload-plugin': TIMUploadPlugin});// 注意!以下代码适用于 uni-app -> native app 项目集成推送能力。// 应合规要求,在用户同意隐私协议的前提下,登录成功后 SDK 会通过推送插件获取推送 token// 并将推送 token 传递至后台(若获取 token 失败则会导致推送无法正常使用)import TIMPushAndroidConfig from "./timpush-configs.json"; // IM控制台 > 推送管理 > 接入设置下载配置文件const TIMPush = uni.requireNativePlugin("TencentCloud-TIMPush");chat.registerPlugin({'tim-push': TIMPush,'pushConfig': {androidConfig: TIMPushAndroidConfig,iOSConfig: {iOSBusinessID: ''}}});
相关资源
SDK 接口文档
V3 集成指引
常见问题
1.是否有开源的 UI 组件可以复用或者二次开发?
腾讯云 IM 提供了各个平台的开源的 UIKit,供开发者复用和二次开发。请参考以下文档:
2.小程序如果需要上线或者部署正式环境怎么办?
请在微信公众平台 > 开发 > 开发管理 > 开发设置 > 服务器域名中进行域名配置:
将以下域名添加到 socket 合法域名:
域名 | 说明 | 是否必须 |
wss://wss.im.qcloud.com | Web IM 业务域名 | 必须 |
wss://wss.tim.qq.com | Web IM 业务域名 | 必须 |
将以下域名添加到 request 合法域名:
域名 | 说明 | 是否必须 |
https://web.sdk.qcloud.com | Web IM 业务域名 | 必须 |
https://boce-cdn.my-imcloud.com | Web IM 业务域名 | 必须 |
https://api.im.qcloud.com | Web IM 业务域名 | 必须 |
https://events.im.qcloud.com | Web IM 业务域名 | 必须 |
https://webim.tim.qq.com | Web IM 业务域名 | 必须 |
https://wss.im.qcloud.com | Web IM 业务域名 | 必须 |
https://wss.tim.qq.com | Web IM 业务域名 | 必须 |
将以下域名添加到 uploadFile 合法域名:
域名 | 说明 | 是否必须 |
https://${sdkappid}-cn.rich.my-imcloud.com | 从 2024年9月10日起,新增应用默认分配 cos 独立域名。 例如您的 sdkappid 是 1400xxxxxx ,则 cos 独立域名为:https://1400xxxxxx-cn.rich.my-imcloud.com | 必须 |
https://cn.rich.my-imcloud.com | 文件上传域名 | 必须 |
https://cn.imrich.qcloud.com | 文件上传域名 | 必须 |
https://cos.ap-shanghai.myqcloud.com | 文件上传域名 | 必须 |
https://cos.ap-shanghai.tencentcos.cn | 文件上传域名 | 必须 |
https://cos.ap-guangzhou.myqcloud.com | 文件上传域名 | 必须 |
将以下域名添加到 downloadFile 合法域名:
域名 | 说明 | 是否必须 |
https://${sdkappid}-cn.rich.my-imcloud.com | 从 2024年9月10日起,新增应用默认分配 cos 独立域名。 例如您的 sdkappid 是 1400xxxxxx ,则 cos 独立域名为:https://1400xxxxxx-cn.rich.my-imcloud.com | 必须 |
https://cn.rich.my-imcloud.com | 文件下载域名 | 必须 |
https://cn.imrich.qcloud.com | 文件下载域名 | 必须 |
https://cos.ap-shanghai.myqcloud.com | 文件下载域名 | 必须 |
https://cos.ap-shanghai.tencentcos.cn | 文件下载域名 | 必须 |
https://cos.ap-guangzhou.myqcloud.com | 文件下载域名 | 必须 |