一,准备工作
1、注册或登录账号
点击:点击注册或者登录腾讯云
对于没有账号你来说,就是点击:没用账号,注册后再关联
对于有账号的你来说:我已经有腾讯云账号,登录后关联
2、购买腾讯云IM
点击:腾讯云IM
二,腾讯云IM简介
即时通信 (IM )是指能够即时发送和接收 互联网 消息等的业务。 自1998年面世以来,特别是近几年的迅速发展,即时通信的功能日益丰富,逐渐集成了 电子邮件 、 博客 、 音乐 、电视、游戏和搜索等多种功能。 即时通信不再是一个单纯的 聊天工具 ,它已经发展成集交流、 资讯、娱乐、搜索、电子商务 、办公协作和企业客户服务等为一体的综合化信息平台。 [1] 微软腾讯、AOL、Yahoo 等重要即时通信提供商都提供通过手机接入 互联网 即时通信的业务,用户可以通过手机与其他已经安装了相应 客户端 软件的手机或 电脑 收发消息。化扩张。微软、AOL、Yahoo 、UCSTAR 等重要即时通信提供商都提供通过手机接入 互联网 即时通信的业务
三,腾讯云IM使用
直接使用即时通信IM的demo ,点击进入IM控制台,
第一次进入即时通信控制台会有一个引导步骤,下载一个demo压缩包
将demo压缩包文件直接在微信开发者工具运行,只需两个参数,即SDKAppID和密钥
聊天效果
四,使用腾讯云即时通信IM的sdk
集成 SDK
通过 npm 和 script 方式将 IM SDK 集成到您的 Web 项目中,推荐使用 npm 集成。
通过 npm 方式将 IM SDK 集成到您的小程序或者 uni-app 项目中。
通过集成上传插件 tim-upload-plugin,实现更快更安全的富文本消息资源上传。
通过集成本地审核插件 tim-profanity-filter-plugin,在客户端本地检测由即时通信 SDK 发送的文本内容,支持对已配置的敏感词进行拦截或者替换处理,为您的产品体验和业务安全保驾护航。
npm 集成(推荐)
在您的项目中使用 npm 安装相应的 IM SDK 依赖。
Web 项目
// IM Web SDK // 从v2.11.2起,SDK 支持了 WebSocket,推荐接入;v2.10.2及以下版本,使用 HTTP npm install tim-js-sdk --save // 发送图片、文件等消息需要腾讯云即时通信 IM 上传插件 npm install tim-upload-plugin --save // 拦截或替换敏感词需要本地审核插件 npm install tim-profanity-filter-plugin --save
说明
若同步依赖过程中出现问题,请切换 npm 源后再次重试。
说明 若同步依赖过程中出现问题,请切换 npm 源后再次重试。
在项目脚本里引入模块。
// 从v2.11.2起,SDK 支持了 WebSocket,推荐接入;v2.10.2及以下版本,使用 HTTP // v2.24.0起,SDK 支持使用本地审核插件 import TIM from 'tim-js-sdk'; 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 tim = TIM.create(options); // SDK 实例通常用 tim 表示 // 设置 SDK 日志输出级别,详细分级请参见 setLogLevel https://web.sdk.qcloud.com/im/doc/zh-cn/SDK.html#setLogLevel 接口的说明</a> tim.setLogLevel(0); // 普通级别,日志量较多,接入时建议使用 // tim.setLogLevel(1); // release 级别,SDK 输出关键信息,生产环境时建议使用 // 注册腾讯云即时通信 IM 上传插件 tim.registerPlugin({'tim-upload-plugin': TIMUploadPlugin}); // 注册腾讯云即时通信 IM 本地审核插件 tim.registerPlugin({'tim-profanity-filter-plugin': TIMProfanityFilterPlugin});
小程序或者 uni-app 项目
// 从v2.11.2起,SDK 支持了 WebSocket,推荐接入;v2.10.2及以下版本,使用 HTTP npm install tim-wx-sdk --save // 发送图片、文件等消息需要腾讯云 即时通信 IM 上传插件 npm install tim-upload-plugin --save // 拦截或替换敏感词需要本地审核插件 npm install tim-profanity-filter-plugin --save
说明
若同步依赖过程中出现问题,请切换 npm 源后再次重试。
npm config set registry http://r.cnpmjs.org/
在项目脚本里引入模块,并初始化。
// 从v2.11.2起,SDK 支持了 WebSocket,推荐接入;v2.10.2及以下版本,使用 HTTP // v2.24.0起,SDK 支持使用本地审核插件 import TIM from 'tim-wx-sdk'; 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 tim = TIM.create(options); // SDK 实例通常用 tim 表示 // 设置 SDK 日志输出级别,详细分级请参见 setLogLevel https://web.sdk.qcloud.com/im/doc/zh-cn/SDK.html#setLogLevel 接口的说明</a> tim.setLogLevel(0); // 普通级别,日志量较多,接入时建议使用 // tim.setLogLevel(1); // release 级别,SDK 输出关键信息,生产环境时建议使用 // 注册腾讯云即时通信 IM 上传插件 tim.registerPlugin({'tim-upload-plugin': TIMUploadPlugin}); // 注册腾讯云即时通信 IM 本地审核插件 tim.registerPlugin({'tim-profanity-filter-plugin': TIMProfanityFilterPlugin}); // v2.22.0 起支持 uni-app 打包 native app 时使用离线推送插件 // 请注意!应合规要求,在用户同意隐私协议的前提下,登录成功后 SDK 会通过推送插件获取推送 token,并将推送 token 传递至后台(若获取 token 失败则会导致离线推送无法正常使用) const TUIOfflinePush = uni.requireNativePlugin("TencentCloud-TUIOfflinePush"); tim.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 } });
Script 集成
在您的项目中使用 script 标签引入 SDK,并初始化。
<script src="./tim-js.js"></script> <script src="./tim-upload-plugin.js"></script> <script> var options = { SDKAppID: 0 // 接入时需要将0替换为您的即时通信 IM 应用的 SDKAppID }; // 创建 SDK 实例,`TIM.create()`方法对于同一个 `SDKAppID` 只会返回同一份实例 var tim = TIM.create(options); // 设置 SDK 日志输出级别,详细分级请参见 setLogLevel 接口的说明 tim.setLogLevel(0); // 普通级别,日志量较多,接入时建议使用 // tim.setLogLevel(1); // release 级别,SDK 输出关键信息,生产环境时建议使用 // 注册腾讯云即时通信 IM 上传插件 tim.registerPlugin({'tim-upload-plugin': TIMUploadPlugin}); // 接下来可以通过 tim 进行事件绑定和构建 IM 应用 </script>