引擎配置
IM 引擎提供以下配置,可按需修改。配置必须在初始化时提供。
数据中心配置
如果您的应用不使用中国国内数据中心(例如使用海外数据中心,或者使用私有部署),必须在初始化之前修改 IMLib SDK 连接的服务地址为对应数据中心地址。否则 SDK 默认连接中国国内数据中心服务地址。
使用海外数据中心的详细说明请参见配置海外数据中心服务地址。
导航地址配置
私有部署的导航服务器地址,naviServer
必须为有效的服务器地址。默认不需要配置,如需配置,请联系商务。
RCIMIWEngineOptions options = RCIMIWEngineOptions.create();
options.naviServer = '配置的导航地址';
媒体服务配置
私有部署的媒体服务器地址,即文件和图片的上传地址。默认不需要配置,如需配置,请联系商务。
RCIMIWEngineOptions options = RCIMIWEngineOptions.create();
options.fileServer = '配置的文件服务地址';
配置统计服务器的信息
设置统计服务器的信息,仅限独立数据中心使用。默认不需要配置,如需配置,请联系商务。
statisticServer
必须为有效的服务器地址,否则会造成推送等业务不能正常使用。
格式说明: 1、如果使用 https,则设置为 https://cn.xxx.com:port 或 https://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 在发送图片、小视频时原始数据和缩略图的压缩配置
参数说明
参数名 | 类型 | 描述 |
---|---|---|
originalImageQuality | int | 原图压缩比 |
originalImageMaxSize | int | 原图最长边的最大宽度 |
originalImageSize | int | 原图大小限制 配置发送图片时,如果图片大小不超过则发送原图 |
thumbnailQuality | int | 缩略图压缩比例 |
thumbnailMaxSize | int | 缩略图压缩宽、高 |
thumbnailMinSize | int | 缩略图压缩最小宽、高 |
sightCompressHeight | int | 小视频压缩高度,建议使用16的倍数 |
sightCompressWidth | int | 小视频压缩宽度,建议使用16的倍数 |
locationThumbnailQuality | int | 位置消息缩略图压缩比例 |
locationThumbnailWidth | int | 位置消息压缩的宽度 |
locationThumbnailHeight | int | 位置消息压缩的高度 |
代码示例
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;