tencent cloud

文档反馈

最后更新时间:2023-08-04 14:59:18
    本文主要介绍如何快速将腾讯云即时通信 IM SDK 集成到您的 Web、小程序、uni-app 项目中。

    IM SDK 文件结构

    
    
    

    集成 SDK

    通过 npm 方式将 IM SDK 集成到您的 Web、小程序、uni-app 项目中。
    通过集成上传插件 tim-upload-plugin,实现更快更安全的富文本消息资源上传。
    通过集成本地审核插件 tim-profanity-filter-plugin,在客户端本地检测由即时通信 SDK 发送的文本内容,支持对已配置的敏感词进行拦截或者替换处理,为您的产品体验和业务安全保驾护航。本地审核功能的开通和配置方法,详情请参见 控制台指南

    npm 集成(推荐)

    在您的项目中使用 npm 安装相应的 IM SDK 依赖。
    npm install @tencentcloud/chat
    // 发送图片、文件等消息需要腾讯云即时通信 IM 上传插件
    npm install tim-upload-plugin --save
    // 拦截或替换敏感词需要本地审核插件
    npm install tim-profanity-filter-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';
    import TIMProfanityFilterPlugin from 'tim-profanity-filter-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});
    
    // 注册腾讯云即时通信 IM 本地审核插件
    chat.registerPlugin({'tim-profanity-filter-plugin': TIMProfanityFilterPlugin});
    
    // 注意!以下代码适用于 uni-app -> native app 项目集成离线推送能力。
    // 应合规要求,在用户同意隐私协议的前提下,登录成功后 SDK 会通过推送插件获取推送 token
    // 并将推送 token 传递至后台(若获取 token 失败则会导致离线推送无法正常使用)
    const TUIOfflinePush = uni.requireNativePlugin("TencentCloud-TUIOfflinePush");
    chat.registerPlugin({
    'tim-offline-push-plugin': TUIOfflinePush,
    'offlinePushConfig': {
    // huawei
    'huaweiBusinessID': '', // 在腾讯云控制台上传第三方推送证书后分配的证书 ID
    // xiaomi
    'xiaomiBusinessID': '', // 在腾讯云控制台上传第三方推送证书后分配的证书 ID
    'xiaomiAppID': '', // 小米开放平台分配的应用 APPID
    'xiaomiAppKey': '', // 小米开放平台分配的应用 APPKEY
    // meizu
    'meizuBusinessID': '', // 在腾讯云控制台上传第三方推送证书后分配的证书 ID
    'meizuAppID': '', // 魅族开放平台分配的应用 APPID
    'meizuAppKey': '', // 魅族开放平台分配的应用 APPKEY
    // vivo
    'vivoBusinessID': '', // 在腾讯云控制台上传第三方推送证书后分配的证书 ID
    // oppo
    'oppoBusinessID': '', // 在腾讯云控制台上传第三方推送证书后分配的证书 ID
    'oppoAppKey': '', // oppo 开放平台分配的应用 APPID
    'oppoAppSecret': '', // oppo 开放平台分配的应用 Secret
    // ios
    'iosBusinessID': '', // 在腾讯云控制台上传第三方推送证书后分配的证书 ID
    }
    });

    相关资源

    常见问题

    1. 是否有开源的 UI 组件可以复用或者二次开发? 腾讯云 IM 提供了各个平台的开源的 UIKit,供开发者复用和二次开发。请参考以下文档:
    1. 小程序如果需要上线或者部署正式环境怎么办? 请在公众平台 > 开发 > 开发管理 > 开发设置 > 服务器域名中进行域名配置:
    将以下域名添加到 socket 合法域名
    域名
    说明
    是否必须
    wss://wss.im.qcloud.com
    Web IM 业务域名
    必须
    wss://wss.tim.qq.com
    Web IM 业务域名
    必须
    将以下域名添加到 request 合法域名
    域名
    说明
    是否必须
    https://web.sdk.qcloud.com
    Web IM 业务域名
    必须
    https://webim.tim.qq.com
    Web IM 业务域名
    必须
    https://api.im.qcloud.com
    Web IM 业务域名
    必须
    https://events.im.qcloud.com
    Web IM 业务域名
    必须
    将以下域名添加到 uploadFile 合法域名
    域名
    说明
    是否必须
    https://cos.ap-shanghai.myqcloud.com
    文件上传域名
    必须
    https://cos.ap-shanghai.tencentcos.cn
    文件上传域名
    必须
    https://cos.ap-guangzhou.myqcloud.com
    文件上传域名
    必须
    将以下域名添加到 downloadFile 合法域名
    域名
    说明
    是否必须
    https://cos.ap-shanghai.myqcloud.com
    文件下载域名
    必须
    https://cos.ap-shanghai.tencentcos.cn
    文件下载域名
    必须
    https://cos.ap-guangzhou.myqcloud.com
    文件下载域名
    必须
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持