为适应不同国家或地区的法律法规,声网支持限定访问区域功能,实现 SDK 只访问指定区域内的声网服务器,将音视频和消息数据传输限定在某一区域范围内。
假设你指定北美为访问区域,SDK 只访问北美区域内的声网服务器。无法分配北美区域服务器时,SDK 会报错,而不是使用其他区域服务器替代。
该功能为高级设置,适用于有访问安全限制的场景。
Agora 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
// 设置区域为北美
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
// 设置区域为北美
RtcServiceOptions options = new RtcServiceOptions();
options.areaCode = AreaCode.AREA_CODE_NA;
...
// 初始化 SDK
int ret = mRtcService.init(APPID, rtcEvent, options);