差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 上一修订版 两侧同时换到之后的修订记录 | ||
im:web:intro:integration [2019/11/07 09:02] lizg [搭建本地测试环境] |
im:web:intro:integration [2021/09/15 02:08] allenwang |
||
---|---|---|---|
行 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** | ||
===== 搭建本地测试环境 ===== | ===== 搭建本地测试环境 ===== | ||
行 39: | 行 48: | ||
* https:https://localhost:3001/ | * https:https://localhost:3001/ | ||
- | 6. 启动simpleDemo 测试: | ||
- | <code bash> | ||
- | # 安装 http-server | ||
- | npm install http-server --save | ||
- | # 在webim/ 目录下启动 http-server | ||
- | http-server | ||
- | </code> | ||
===== 集成 ===== | ===== 集成 ===== | ||
行 75: | 行 77: | ||
====引用本地文件==== | ====引用本地文件==== | ||
- | 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文件 | ||
行 87: | 行 89: | ||
**注意:**Web SDK 向下兼容V1.1.2和V1.1.1。关于详细的引用文件和配置参数(WebIMConfig)的方法,请查看本页“兼容性”的内容。 | **注意:**Web SDK 向下兼容V1.1.2和V1.1.1。关于详细的引用文件和配置参数(WebIMConfig)的方法,请查看本页“兼容性”的内容。 | ||
+ | |||
+ | 初始化 WebIM.connection 和 构造消息 WebIM.message, 需要在中间加上 default,如:WebIM.default.message。 | ||
===== 配置 ===== | ===== 配置 ===== | ||
- | + | 3.0 SDK,在 WebIMConfig.js 文件内进行以下配置: | |
- | 在 webim.config.js 文件内进行以下配置: | + | |
<code javascript> | <code javascript> | ||
- | xmppURL: 'im-api.easemob.com', // xmpp Server地址,对于在console.easemob.com创建的appKey,固定为该值 | + | socketServer: '//im-api-v2.easemob.com/ws', // socket Server地址 |
- | apiURL: 'http://a1.easemob.com', // rest Server地址,对于在console.easemob.com创建的appkey,固定为该值 | + | restServer: '//a1.easemob.com', // rest Server地址 |
appkey: 'easemob-demo#chatdemoui', // App key | appkey: 'easemob-demo#chatdemoui', // App key | ||
行 102: | 行 104: | ||
https : false, // 是否使用https | https : false, // 是否使用https | ||
- | isHttpDNS: true, //防止DNS劫持从服务端获取XMPPUrl、restUrl | + | isHttpDNS: true, // 3.0 SDK支持,防止DNS劫持从服务端获取XMPPUrl、restUrl |
isMultiLoginSessions: false, // 是否开启多页面同步收消息,注意,需要先联系商务开通此功能 | isMultiLoginSessions: false, // 是否开启多页面同步收消息,注意,需要先联系商务开通此功能 | ||
- | |||
- | isAutoLogin: true, // 自动出席,(如设置为false,则表示离线,无法收消息,需要在登录成功后手动调用conn.setPresence()才可以收消息) | ||
isDebug: false, // 打开调试,会自动打印log,在控制台的console中查看log | isDebug: false, // 打开调试,会自动打印log,在控制台的console中查看log | ||
行 112: | 行 112: | ||
autoReconnectNumMax: 2, // 断线重连最大次数 | autoReconnectNumMax: 2, // 断线重连最大次数 | ||
- | autoReconnectInterval: 2, // 断线重连时间间隔 | + | heartBeatWait: 30000, // 心跳间隔(只在小程序中使用) |
+ | |||
+ | delivery: false, // 是否发送已读回执 | ||
+ | |||
+ | useOwnUploadFun: false, // 是否使用自己的上传方式(如将图片文件等上传到自己的服务器,构建消息时只传url) | ||
+ | |||
+ | deviceId: 'webim' // 设备ID,默认可不传,如果传一个固定值,在没开启多端登录的情况下同一个账号会互踢 | ||
+ | </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 文件内进行以下配置: | ||
+ | |||
+ | <code javascript> | ||
+ | xmppURL: '//im-api.easemob.com', // xmpp Server地址,对于在console.easemob.com创建的appKey,固定为该值 | ||
+ | |||
+ | apiURL: 'http://a1.easemob.com', // rest Server地址,对于在console.easemob.com创建的appkey,固定为该值 | ||
+ | |||
+ | appkey: 'easemob-demo#chatdemoui', // App key | ||
+ | |||
+ | https : false, // 是否使用https | ||
+ | |||
+ | isHttpDNS: true, // 防止DNS劫持从服务端获取XMPPUrl、restUrl | ||
+ | |||
+ | isMultiLoginSessions: false, // 是否开启多页面同步收消息,注意,需要先联系商务开通此功能 | ||
+ | |||
+ | isDebug: false, // 打开调试,会自动打印log,在控制台的console中查看log | ||
+ | |||
+ | autoReconnectNumMax: 2, // 断线重连最大次数 | ||
+ | |||
+ | autoReconnectInterval: 3, // 断线重连每次尝试连接的间隔 | ||
- | heartBeatWait: 4500, // 使用webrtc(视频聊天)时发送心跳包的时间间隔,单位ms | + | heartBeatWait: 30000, // 使用webrtc(视频聊天)时发送心跳包的时间间隔,单位ms |
- | delivery: true, // 是否发送已读回执 | + | delivery: true, // 是否发送已读回执 |
</code> | </code> |