跳到主要内容

引擎配置

IM 引擎提供以下配置,可按需修改。配置必须在初始化时提供。

数据中心配置

如果您的应用不使用中国国内数据中心(例如使用海外数据中心,或者使用私有部署),必须在初始化之前修改 IMLib SDK 连接的服务地址为对应数据中心地址。否则 SDK 默认连接中国国内数据中心服务地址。

使用海外数据中心的详细说明请参见配置海外数据中心服务地址

导航地址配置

导航服务器地址 naviServer 必须为有效的服务器地址。默认不需要配置,如需配置,请联系商务。

如果您的应用使用海外数据中心,或者私有部署的导航服务器地址,必须在初始化之前修改 IMLib SDK 连接的服务地址为海外数据中心地址。否则 SDK 默认连接中国国内数据中心服务地址。详细说明请参见配置海外数据中心服务地址

let options: RCIMIWEngineOptions = {naviServer: '配置的导航地址'};

媒体服务配置

私有部署的媒体服务器地址,即文件和图片的上传地址。默认不需要配置,如需配置,请联系商务。

let options: RCIMIWEngineOptions = {fileServer: '配置的文件服务地址'};

配置统计服务器的信息

设置统计服务器的信息,仅限独立数据中心使用。默认不需要配置,如需配置,请联系商务。

statisticServer 必须为有效的服务器地址,否则会造成推送等业务不能正常使用。

格式说明: 1、如果使用 https,则设置为 https://cn.xxx.com:porthttps://cn.xxx.com 格式,其中域名部分也可以是 IP,如果不指定端口,将默认使用 443 端口。 2、如果使用 http,则设置为 cn.xxx.com:port 或 cn.xxx.com 格式,其中域名部分也可以是 IP,如果不指定端口,将默认使用 80 端口。(iOS 默认只能使⽤ HTTPS 协议。如果您使⽤ http 协议,需要您自行查阅 ATS 设置相关的文章 )

let options: RCIMIWEngineOptions = {statisticServer: '配置的统计服务器'};

推送配置

推送是常见的基础功能。IMLib SDK 已集成融云自有推送,以及多家第三方推送,且会在 SDK 初始化后触发。因此,客户端的推送配置必须在初始化之前提供。详细说明请参见启用推送

Android 推送信息配置

使用 Android 推送时,需要配置下面信息:

let options: RCIMIWEngineOptions = {};
let pushOptions: RCIMIWPushOptions = {
idMI: 'xxx',
appKeyMI: 'xxx',
appIdMeizu: 'xxx',
appKeyMeizu: 'xxx',
appKeyOPPO: 'xxx',
appSecretOPPO: 'xxx',
enableHWPush: true,
enableFCM: true,
enableVIVOPush: true,
};
options.pushOptions = pushOptions;

是否踢出当前正在重连的设备

用户级别配置,可按需设置。设置断线重连时是否踢出当前正在重连的设备。要求 App Key 已开通用户级别配置。详见重连机制与重连互踢

let options: RCIMIWEngineOptions = {kickReconnectDevice: true};

压缩策略配置

修改 SDK 在发送图片、小视频时原始数据和缩略图的压缩配置。

参数说明

参数名类型描述
originalImageQualitynumber原图压缩比
originalImageMaxSizenumber原图最长边的最大宽度
originalImageSizenumber原图大小限制 配置发送图片时,如果图片大小不超过则发送原图
thumbnailQualitynumber缩略图压缩比例
thumbnailMaxSizenumber缩略图压缩宽、高
thumbnailMinSizenumber缩略图压缩最小宽、高
sightCompressWidthnumber小视频压缩宽度,建议使用16的倍数
sightCompressHeightnumber小视频压缩高度,建议使用16的倍数

代码示例

let options: RCIMIWEngineOptions = {};
let compressOptions: RCIMIWCompressOptions = {
originalImageQuality: 80,
originalImageMaxSize: 1080,
originalImageSize: 200,
thumbnailQuality: 80,
thumbnailMaxSize: 500,
thumbnailMinSize: 200,
sightCompressHeight: 160,
sightCompressWidth: 160,
};
options.compressOptions = compressOptions;