为适应不同国家或地区的法律法规,声网支持限定访问区域功能。开启限定访问区域功能后,不论用户在哪个区域使用你的 app,SDK 都只会访问指定区域的声网服务器。
例如你指定了北美为访问区域,假设有两位用户分别从北美和中国连接声网服务器:
指定的访问区域 | App 用户所在区域 | SDK 实际访问的区域 | 连接后的用户体验 1 |
---|---|---|---|
北美 | 北美 | 北美 | 正常 |
中国 | 可能受到较大影响 2 |
声网 RTSA Lite SDK 从 v1.5.0 起,支持限定区域访问。一旦指定了访问区域,音视频和消息数据将不会访问指定区域以外的服务器。
你需要在调用 agora_rtc_init
(C API)或 init
(Java API)方法初始化 SDK 时,通过设置 option
参数中的 area_code
(C API)参数或 areaCode
(Java API)参数来指定访问区域。
AREA_CODE_GLOB
: (默认)全球。AREA_CODE_CN
: 中国大陆。AREA_CODE_NA;
: 北美。AREA_CODE_EU
: 欧洲。AREA_CODE_AS
: 除中国大陆以外的亚洲区域。AREA_CODE_JP
: 日本。AREA_CODE_IN
: 印度。使用 C API 的设置如下:
C 示例代码
// C
// 设置区域为北美
rtc_service_option_t service_opt;
service_opt.area_code = AREA_CODE_NA;
...
// 初始化 SDK
rval = agora_rtc_init(appid, &event_handler, &service_opt);
使用 Java API 的设置如下:
Java 示例代码
// Java
// 设置区域为北美
RtcServiceOptions options = new RtcServiceOptions();
options.areaCode = AreaCode.AREA_CODE_NA;
...
// 初始化 SDK
int ret = mRtcService.init(APPID, rtcEvent, options);