即时通讯 IM 提供了中国(北京)、东南亚(新加坡)、以及北美(俄勒冈)数据中心供选择,助力出海业务。
如果您的应用在海外上线且用户主要在海外,您可以根据消息传输需求及合规要求,选择适合您业务的海外数据中心。海外数据中心资费参见:
本文将介绍融云海外数据中心的使用指南及相关说明。
创建海外数据中心应用
-
打开融云控制台 应用管理 页面。
-
单击创建应用。您将在创建应用的弹窗中选择数据中心。
-
在创建应用对话框中输入您的应用名称、应用简介、应用类型、运营阶段、数据中心。
应用创建后,数据中心不可修改,请谨慎选择。目前暂不支持直接选择新加坡 B、北美和沙特数据中心。如果您想选择新加坡 B、北美和沙特数据中心,请提交工单申请。
海外数据中心集成客户端 SDK
IM SDK 在不同数据中心通用,开发者可根据自己的业务需求场景以及技术栈进行评估,选择合适的 SDK。
通过区域码方式配置
什么是区域码
在旧版 SDK 中,如果使用海外数据中心,必须在客户端 SDK 手动配置对应数据中的导航地址、统计服务地址等,容易因为遗漏其中某项配置导致问题。
为了简化海外数据中心配置流程,我们在新版 SDK 中直接封装了不同数据中心的配置为区域码。只要您的 App Key 使用海外数据中心,只需要在初始化时传入有效的区域码(AreaCode
/ RCAreaCode
)即可完成配置。除特殊场景外,不再需要手动更改一系列域名地址。
如何使用和配置区域码
首先,请务必先确认您当前的 App Key 所属的数据中心。融云海外业务提供新加坡、新加坡 B、北美、沙特等多个数据中心。
您可以在融云控制台首页核验应用名称、环境、App Key 和所属数据中心。
确认 App Key 所属的数据中心后,请根据当前项目中的 OS 平台与 SDK 版本,选择使用区域码方式配置,或使用手动方式配置海外数据中心的相关域名。
仅以下平台和版本的 SDK 支持通过区域码方式直接配置海外数据中心:
-
Android 端 IMLib/IMKit:SDK ≧ 5.4.2
请先查询当前 App Key 所属数据中心,并根据 API 文档 AreaCode 找到对应枚举值。示例代码中配置了区域码为
AreaCode.SG
(新加坡数据中心)。String appKey = "Singapore_dev_AppKey"; AreaCode areaCode = AreaCode.SG; InitOption initOption = new InitOption.Builder() .setAreaCode(areaCode) .build(); RongCoreClient.init(context, appKey, initOption);
-
iOS 端 IMLib/IMKit:SDK ≧ 5.4.2
请先查询当前 App Key 所属数据中心,并根据 API 文档 RCAreaCode 找到对应枚举值。示例代码中配置了区域码
RCAreaCodeSG
(新加坡数据中心)。NSString *appKey = @"Your_AppKey"; // example: bos9p5rlcm2ba RCInitOption *initOption = [[RCInitOption alloc] init]; initOption.areaCode = RCAreaCodeSG; [[RCCoreClient sharedCoreClient] initWithAppKey:appKey option:initOption];
-
Web 端 IMLib:SDK ≧ 5.7.9
请先查询当前 App Key 所属数据中心,并根据 API 文档 AreaCode 找到对应枚举值。示例代码中配置了区域码为
AreaCode.SG
(新加坡数据中心)。// 应用初始化,请务必保证此过程只被执行一次 RongIMLib.init({ appkey: '<Your-App-Key>', areaCode: AreaCode.SG});
手动配置海外数据中心域名
如果您集成了以下平台与版本 SDK,暂不支持通过区域码配置为海外数据中心。请按照下方文档手动配置导航服务器地址和统计服务器地址。
- Android 端 IMLib/IMKit:SDK < 5.4.2
- iOS 端 IMLib/IMKit:SDK < 5.4.2
- Web 端 IMLib:SDK < 5.7.9
- Flutter 端 IMLib/IMKit:SDK < 5.2.4
- uni-app 端 IMLib/IMKit:SDK < 5.2.4
- Unity 端 IMLib:SDK < 5.2.4
- React Native 端 IMLib:SDK < 5.2.4
Android
适用于 5.4.2 之前版本。
在 SDK 初始化 init 之前,请先设置海外数据中心的导航服务器地址和统计服务器地址:
-
使用
setServerInfo
方法设置导航服务器地址:/** * 设置 海外 数据中心的导航服务器和媒体服务器地址。 * 此方法要在 {@link #init(Context, String)} 前使用 * * @param naviServer 海外数据中心的导航服务器地址。 * @param fileServer 文件服务器地址(仅限私有云使用)。 */ public static void setServerInfo(final String naviServer, final String fileServer) { if (TextUtils.isEmpty(naviServer)) { RLog.e(TAG, "setServerInfo naviServer should not be null."); throw new IllegalArgumentException("naviServer should not be null."); } RongIMClient.setServerInfo(naviServer, fileServer); }
-
导航服务器地址(
naviServer
)- 新加坡:nav.sg-light-edge.com(主)、nav-b.sg-light-edge.com(备)
- 新加坡 B:nav.sg-b-light-edge.com(主)、nav-b.sg-b-light-edge.com(备)
- 北美:nav.us-light-edge.com(主)、nav-b.us-light-edge.com(备)
- 沙特:nav.sau-light-edge.com(主)、nav-b.sau-light-edge.com (备)
-
文件服务器地址(
fileServer
):该项仅适用于私有云客户进行配置。公有云客户传null
即可,表示使用默认的文件服务器地址。 -
如果 App Key 属于其他数据中心,请直接前往开发者后台 App Key 页面查看相关地址。
-
-
使用
setStatisticDomain
方法设置统计服务地址:- 新加坡:stats.sg-light-edge.com
- 新加坡 B:stats.sg-b-light-edge.com
- 北美:stats.us-light-edge.com
- 沙特:stats.sau-light-edge.com
- 如果 App Key 属于其他数据中心,请直接前往开发者后台 App Key 页面查看相关地址。
iOS
适用于 5.4.2 之前版本。
在 SDK 初始化 init 之前,请先设置海外数据中心的导航服务器地址和统计服务器地址:
-
使用
setServerInfo
方法设置设置导航服务器地址:/*! 设置 海外 数据中心导航服务器和上传文件服务器信息 @param naviServer 海外 数据中心导航服务器地址,具体的格式参考下面的说明 @param fileServer 文件服务器地址(仅限私有云使用),具体的格式参考下面的说明 @return 是否设置成功 @warning 仅限 海外 数据中心使用,使用前必须先联系商务开通。必须在SDK init之前进行设置。 @discussion naviServer必须为有效的服务器地址,fileServer如果想使用默认的,可以传nil。 naviServer和fileServer的格式说明: 1、如果使用https,则设置为https://cn.xxx.com:port或https://cn.xxx.com格式,其中域名部分也可以是IP,如果不指定端口,将默认使用443端口。 2、如果使用http,则设置为cn.xxx.com:port或cn.xxx.com格式,其中域名部分也可以是IP,如果不指定端口,将默认使用80端口。 */ -(BOOL)setServerInfo:(NSString *)naviServer fileServer:(NSString *)fileServer;
- 导航服务器地址(
naviServer
)- 新加坡:nav.sg-light-edge.com(主)、nav-b.sg-light-edge.com(备)
- 新加坡 B:nav.sg-b-light-edge.com(主)、nav-b.sg-b-light-edge.com(备)
- 北美:nav.us-light-edge.com(主)、nav-b.us-light-edge.com(备)
- 沙特:nav.sau-light-edge.com(主)、nav-b.sau-light-edge.com (备)
- 文件服务器地址(
fileServer
):该项仅适用于私有云客户进行配置。公有云客户传nil
即可,表示使用默认的文件服务器地址。 - 如果 App Key 属于其他数据中心,请直接前往开发者后台 App Key 页面查看相关地址。
- 导航服务器地址(
-
使用
setStatisticServer
方法设置统计服务地址:/** 设置统计服务器的信息 @param statisticServer 统计服务器地址,具体的格式参考下面的说明 @return 是否设置成功 @warning 仅限独立数据中心使用,使用前必须先联系商务开通。必须在 SDK init 和 setDeviceToken 之前进行设置。 @discussion 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 设置说明。) @remarks 功能设置 */ - (BOOL)setStatisticServer:(NSString *)statisticServer;
- 新加坡:stats.sg-light-edge.com
- 新加坡 B:stats.sg-b-light-edge.com
- 北美:stats.us-light-edge.com
- 沙特:stats.sau-light-edge.com
- 如果 App Key 属于其他数据中心,请直接前往开发者后台 App Key 页面查看相关地址。
Web
在 SDK 的 init
方法中设置海外数据中心的导航服务器地址:
// IMLib v2
RongIMClient.init('<Your-AppKey>', null, { navi: 'https://nav.sg-light-edge.com' } });
// or IMLib v4
RongIMLib.init({ appkey: '<Your-AppKey>', navigators: ['https://nav.sg-light-edge.com'] });
// or IMLib v5
RongIMLib.init({ appkey: '<Your-AppKey>', navigators: ['https://nav.sg-light-edge.com'] });
- 新加坡:nav.sg-light-edge.com(主)、nav-b.sg-light-edge.com(备)
- 新加坡 B:nav.sg-b-light-edge.com(主)、nav-b.sg-b-light-edge.com(备)
- 北美:nav.us-light-edge.com(主)、nav-b.us-light-edge.com(备)
- 沙特:nav.sau-light-edge.com(主)、nav-b.sau-light-edge.com (备)
- 如果 App Key 属于其他数据中心,请直接前往开发者后台 App Key 页面查看相关地址。
小程序
暂不支持。
Flutter
仅适用于 5.2.4 及之后版本。
在 SDK 引擎配置中,写入海外数据中心的导航服务器地址和统计服务器地址:
RCIMIWEngineOptions options = RCIMIWEngineOptions.create();
options.naviServer = '配置的导航地址';
options.statisticServer = '配置的统计服务器';
RCIMIWEngine engine = await RCIMIWEngine.create(appKey, options);
- 导航服务器地址(
naviServer
)- 新加坡:nav.sg-light-edge.com(主)、nav-b.sg-light-edge.com(备)
- 新加坡 B:nav.sg-b-light-edge.com(主)、nav-b.sg-b-light-edge.com(备)
- 北美:nav.us-light-edge.com(主)、nav-b.us-light-edge.com(备)
- 沙特:nav.sau-light-edge.com(主)、nav-b.sau-light-edge.com (备)
- 统计服务器地址(
statisticServer
) - 如果 App Key 属于其他数据中心,请直接前往开发者后台 App Key 页面查看相关地址。
uni-app
仅适用于 5.2.4 及之后版本。
在 SDK 引擎配置中,写入海外数据中心的导航服务器地址和统计服务器地址:
let options = { naviServer: '配置的导航地址' }
let options = { statisticServer: '配置的统计服务器' }
let engine = await RCIMIWEngine.create(appKey, options);
- 导航服务器地址(
naviServer
)- 新加坡:nav.sg-light-edge.com(主)、nav-b.sg-light-edge.com(备)
- 新加坡 B:nav.sg-b-light-edge.com(主)、nav-b.sg-b-light-edge.com(备)
- 北美:nav.us-light-edge.com(主)、nav-b.us-light-edge.com(备)
- 沙特:nav.sau-light-edge.com(主)、nav-b.sau-light-edge.com (备)
- 统计服务器地址(
statisticServer
) - 如果 App Key 属于其他数据中心,请直接前往开发者后台 App Key 页面查看相关地址。
React Native
仅适用于 5.2.4 及之后版本。
在 SDK 引擎配置中,写入海外数据中心的导航服务器地址和统计服务器地址:
let options: RCIMIWEngineOptions = {};
let options: RCIMIWEngineOptions = {naviServer: '配置的导航地址'};
let options: RCIMIWEngineOptions = {statisticServer: '配置的统计服务器'};
let engine: RCIMIWEngine = RCIMIWEngine.create(appkey, options);
- 导航服务器地址(
naviServer
)- 新加坡:nav.sg-light-edge.com(主)、nav-b.sg-light-edge.com(备)
- 新加坡 B:nav.sg-b-light-edge.com(主)、nav-b.sg-b-light-edge.com(备)
- 北美:nav.us-light-edge.com(主)、nav-b.us-light-edge.com(备)
- 沙特:nav.sau-light-edge.com(主)、nav-b.sau-light-edge.com (备)
- 统计服务器地址(
statisticServer
) - 如果 App Key 属于其他数据中心,请直接前往开发者后台 App Key 页面查看相关地址。
Unity
仅适用于 5.2.4 及之后版本。
在 SDK 引擎配置中,写入海外数据中心的导航服务器地址和统计服务器地址:
RCIMEngineOptions options = new RCIMEngineOptions();
options.naviServer = "配置的导航地址";
options.statisticServer = "配置的统计服务器";
RCIMEngine engine = RCIMEngine.create(appkey, options);
- 导航服务器地址(
naviServer
)- 新加坡:nav.sg-light-edge.com(主)、nav-b.sg-light-edge.com(备)
- 新加坡 B:nav.sg-b-light-edge.com(主)、nav-b.sg-b-light-edge.com(备)
- 北美:nav.us-light-edge.com(主)、nav-b.us-light-edge.com(备)
- 沙特:nav.sau-light-edge.com(主)、nav-b.sau-light-edge.com (备)
- 统计服务器地址(
statisticServer
) - 如果 App Key 属于其他数据中心,请直接前往开发者后台 App Key 页面查看相关地址。
海外数据中心服务端 API 配置
您在调用 服务端 API 时,请求的域名请根据应用创建的数据中心配置,不同数据中心的域名如下:
融云海外数据中心域名:
- 新加坡:api.sg-light-api.com(主)、api-b.sg-light-api.com(备)
- 新加坡 B:api.sg-b-light-api.com(主)、api-b.sg-b-light-api.com(备)
- 北美:api.us-light-api.com(主)、api-b.us-light-api.com(备)
- 沙特:api.sau-light-api.com(主)、api-b.sau-light-api.com (备)
- 如果 App Key 属于其他数据中心,请直接前往开发者后台 App Key 页面查看相关地址。
海外接入节点
适用于 IM 业务和 RTC 信令业务。
海外接入节点位于全球 100 多个位置。正在投入使用的入网点组合可能会发生更改,恕不另行通知。由于可能会发生设备维护、设备故障、推出新的入网点、移除旧的入网点以及其他事件,因此以下列表可能无法准确反映目前正在使用的入网点。
以下许多城市中均有多个入网点来支持服务需求。
北美洲
弗吉尼亚州阿什本、佐治亚州亚特兰大、南卡罗来纳州查尔斯顿、伊利诺伊州芝加哥、爱荷华州康瑟布拉夫斯、德克萨斯州达拉斯/沃思堡、科罗拉多州丹佛、内华达州拉斯维加斯、北卡罗来纳州勒努瓦、加利福尼亚州洛杉矶、佛罗里达州迈阿密、加拿大魁北克省蒙特利尔、纽约州纽约市、墨西哥克雷塔罗、犹他州盐湖城、加利福尼亚州旧金山、华盛顿州西雅图、俄勒冈州达尔斯、加拿大安大略省多伦多、俄克拉荷马州塔尔萨
南美洲
哥伦比亚波哥大、阿根廷布宜诺斯艾利斯、巴西里约热内卢、智利圣地亚哥、巴西圣保罗
欧洲
荷兰阿姆斯特丹、匈牙利布达佩斯、爱尔兰都柏林、德国法兰克福、荷兰格罗宁根、德国汉堡、芬兰哈米纳、芬兰赫尔辛基、英国伦敦、西班牙马德里、法国马塞、意大利米兰、德国慕尼黑、法国巴黎、捷克布拉格、保加利亚索非亚、比利时圣吉斯兰、瑞典斯德哥尔摩、波兰华沙、瑞士苏黎世
中东
阿拉伯联合酋长国富查伊拉、阿曼马斯喀特
亚太地区
中国台湾彰化县、印度金奈、中国香港特别行政区、印度尼西亚雅加达、马来西亚吉隆坡、印度孟买、德里(印度)、日本大阪、韩国首尔、新加坡、中国台湾台北、日本东京
大洋洲
澳大利亚悉尼、澳大利亚墨尔本
非洲
南非约翰内斯堡、尼日利亚拉戈斯、肯尼亚蒙巴萨
安全合规
应用在出海前须遵守当地数据保护法律法规,确保数据合规性,避免法律风险。 融云即时通讯 IM 提供了境外数据中心供选择,数据不回国。您的业务数据存储在创建应用时选择的数据中心,每个数据中心均支持全球接入。
包括不限于以下数据:
- 用户资料(如昵称、头像字段等)
- 群组相关(群名称、群成员等)
- 消息相关(文本、图片、视频、语音、文件、自定义消息等)