跳到主要内容

引擎配置

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

数据中心配置

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

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

导航地址配置

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

RCIMIWEngineOptions options = RCIMIWEngineOptions.create();
options.naviServer = '配置的导航地址';

媒体服务配置

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

RCIMIWEngineOptions options = RCIMIWEngineOptions.create();
options.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 协议,请在 iOS 工程中配置 ATS 权限)

RCIMIWEngineOptions options = RCIMIWEngineOptions.create();
options.statisticServer = '配置的统计服务器';

推送配置

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

Android 推送信息配置

开发者在使用 Android 推送时,需要配置下面信息。

RCIMIWEngineOptions options = RCIMIWEngineOptions.create();
RCIMIWPushOptions pushOptions = RCIMIWPushOptions.create(
idMI: '',
appKeyMI: '',
appIdMeizu: '',
appKeyMeizu: '',
appKeyOPPO: '',
appSecretOPPO: '',
enableHWPush: true,
enableFCM: true,
enableVIVOPush: true,
);
options.pushOptions = pushOptions;

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

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

RCIMIWEngineOptions options = RCIMIWEngineOptions.create();
options.kickReconnectDevice = true;

压缩策略配置

开发者可以自行配置 SDK 在发送图片、小视频时原始数据和缩略图的压缩配置

参数说明

参数名类型描述
originalImageQualityint原图压缩比
originalImageMaxSizeint原图最长边的最大宽度
originalImageSizeint原图大小限制 配置发送图片时,如果图片大小不超过则发送原图
thumbnailQualityint缩略图压缩比例
thumbnailMaxSizeint缩略图压缩宽、高
thumbnailMinSizeint缩略图压缩最小宽、高
sightCompressHeightint小视频压缩高度,建议使用16的倍数
sightCompressWidthint小视频压缩宽度,建议使用16的倍数
locationThumbnailQualityint位置消息缩略图压缩比例
locationThumbnailWidthint位置消息压缩的宽度
locationThumbnailHeightint位置消息压缩的高度

代码示例

RCIMIWEngineOptions options = RCIMIWEngineOptions.create();
RCIMIWCompressOptions compressOptions = RCIMIWCompressOptions.create(
originalImageQuality: 80,
originalImageMaxSize: 1080,
originalImageSize: 200,
thumbnailQuality: 80,
thumbnailMaxSize: 500,
thumbnailMinSize: 200,
sightCompressHeight: 160,
sightCompressWidth: 160,
);
options.compressOptions = compressOptions;