差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
im:web:intro:integration [2020/07/09 11:05]
zhangdong [配置]
im:web:intro:integration [2022/02/15 08:58] (当前版本)
zhangdong [NPM]
行 1: 行 1:
 ====== Web IM 集成介绍 ====== ====== Web IM 集成介绍 ======
 +
 +===== 准备条件 =====
 +
 +**如果要实现RTC功能,你需要满足以下条件:**
 +
 +   * **你已分别创建了环信应用及声网应用**
 +   * **已完成环信IM的基本功能,包括登录、好友、群组以及会话等的集成**
 +   * **上线之前开通声网token验证时,用户需要实现自己的AppServer,根据环信ID,​生成Token,创建Token服务及使用AppServer生成Token的过程参见https://​docs.agora.io/​cn/​live-streaming/​token_server**
 +   * **我们提供了开源的AppServer,可以供参考:https://​github.com/​easemob/​easemob-im-app-server/​tree/​master/​agora-app-server**
  
 ===== 搭建本地测试环境 ===== ===== 搭建本地测试环境 =====
行 62: 行 71:
 <code javascript>​ <code javascript>​
 import websdk from "​easemob-websdk"​ import websdk from "​easemob-websdk"​
 +</​code>​
 +
 +如果是 Typescript, 这样引入类型 EasemobChat:
 +<code javascript>​
 +import websdk, { EasemobChat } from '​easemob-websdk'​
 </​code>​ </​code>​
  
行 68: 行 82:
 ====引用本地文件==== ====引用本地文件====
  
-1. 下载demo后,将sdk目录下的 webimSDK.js、EMedia_x1v1.js、EMedia_sdk-dev.js 拷贝到系统相应的目录下。+1. 下载demo后,将sdk目录下的 webimSDK.js(现SDK包命名为websdk+版本号的形式,​例如:websdk3.4.2.js)、EMedia_x1v1.js、EMedia_sdk-dev.js,按照实际项目需求选择对应的SDK拷贝到系统相应的目录下。**PS:websdk:提供全功能即时通讯SDK接口,Emedia:​提供音视频功能相关SDK接口。如需音视频功能,EMedia_x1v1.js与EMedia_sdk-dev.js只引用EMedia_x1v1.js即可**
  
 2.新版本中 WebIMConfig 文件只做参数定义方便实例化 SDK 时使用,仅与自己项目结构有关。详细使用可以查看 /​demo/​src/​config/​WebIM.js文件 2.新版本中 WebIMConfig 文件只做参数定义方便实例化 SDK 时使用,仅与自己项目结构有关。详细使用可以查看 /​demo/​src/​config/​WebIM.js文件
行 95: 行 109:
 https : false, ​                           // 是否使用https https : false, ​                           // 是否使用https
  
-isHttpDNS: true,                          // 3.0 SDK支持,防止DNS劫持从服务端获取XMPPUrl、restUrl ​+isHttpDNS: true,                          // 3.0 SDK支持,防止DNS劫持从服务端获取XMPPUrl、restUrl
  
 isMultiLoginSessions:​ false, ​             // 是否开启多页面同步收消息,注意,需要先联系商务开通此功能 isMultiLoginSessions:​ false, ​             // 是否开启多页面同步收消息,注意,需要先联系商务开通此功能
行 105: 行 119:
 heartBeatWait:​ 30000, ​                    // 心跳间隔(只在小程序中使用) heartBeatWait:​ 30000, ​                    // 心跳间隔(只在小程序中使用)
  
-delivery: ​true,                           // 是否发送已读回执+delivery: ​false,                           // 是否发送已读回执
  
-useOwnUploadFun:​ false         // 是否使用自己的上传方式(如将图片文件等上传到自己的服务器,构建消息时只传url)+useOwnUploadFun:​ false        // 是否使用自己的上传方式(如将图片文件等上传到自己的服务器,构建消息时只传url) 
 + 
 +deviceId: '​webim' ​              // 设备ID,默认可不传,如果传一个固定值,在没开启多端登录的情况下同一个账号会互踢
 </​code>​ </​code>​
 +
 +''​注意:''​
 +
 +''​为满足不同客户的业务需求,环信在多地部署了数据中心。不同数据中心的REST API请求域名、WebSocket访问域名不同。请根据您所在数据中心进行配置。''​
 +
 +''​环信不同数据中心的REST API请求域名、WebSocket访问域名: ''​
 +|数据中心|REST API请求地址|WebSocket访问域名|
 +|国内1区|a1.easemob.com 或 a1.easecdn.com|im-api-v2.easemob.com 或 im-api-v2.easecdn.com|
 +|国内2区|a31.easemob.com 或 a31.easecdn.com|im-api-v2-31.easemob.com 或 im-api-v2-31.easecdn.com|
 +|国内VIP区|请咨询商务经理|请咨询商务经理|
 +|客服专用|请咨询商务经理|请咨询商务经理|
 +|新加坡1区|a1-sgp.easemob.com 或 a1-sgp.easecdn.com|im-api-sgp-v2.easemob.com 或 im-api-sgp-v2.easecdn.com|
 +|美东1区|a41.easemob.com 或 a41.easecdn.com|msync-api-41.easemob.com 或 msync-api-41.easecdn.com|
 +|法兰克福1区|a51.easemob.com 或 a51.easecdn.com|msync-api-51.easemob.com 或 msync-api-51.easecdn.com|
 +''​ 应用所在数据中心可以在环信用户管理后台>​应用信息中查看:[[https://​console.easemob.com/​app/​im-service/​detail|Console中查看请求域名]] ''​
 +
 +{{:​im:​server:​ready:​console查看可用区.jpg?​800|}}
  
 2.0 SDK,在 webim.config.js 文件内进行以下配置: 2.0 SDK,在 webim.config.js 文件内进行以下配置:
行 129: 行 162:
 autoReconnectNumMax:​ 2,                    // 断线重连最大次数 autoReconnectNumMax:​ 2,                    // 断线重连最大次数
  
-heartBeatWait:​ 30000, ​                      ​// 使用webrtc(视频聊天)时发送心跳包的时间间隔,单位ms+autoReconnectInterval:​ 3,                  // 断线重连每次尝试连接的间隔 
 + 
 +heartBeatWait:​ 30000, ​                     // 使用webrtc(视频聊天)时发送心跳包的时间间隔,单位ms
  
 delivery: true,                            // 是否发送已读回执 delivery: true,                            // 是否发送已读回执