为适应不同国家或地区的法律法规,声网支持限定访问区域功能。开启限定访问区域功能后,不论用户在哪个区域使用你的 app,SDK 都只会访问指定区域的声网服务器。
例如你指定了北美为访问区域,假设有两位用户分别从北美和中国连接声网服务器:
指定的访问区域 | App 用户所在区域 | SDK 实际访问的区域 | 连接后的用户体验 1 |
---|---|---|---|
北美 | 北美 | 北美 | 正常 |
中国 | 可能受到较大影响 2 |
你需要在调用 createClient
初始化 RTM 客户端之前调用 setRtmServiceContext
设置限定区域。RTM SDK 支持以下区域:
AREA_CODE_GLOB
: (默认)全球。AREA_CODE_CN
: 中国大陆。AREA_CODE_NA
: 北美区域。AREA_CODE_EU
: 欧洲区域。AREA_CODE_AS
: 除中国大陆外的亚洲区域。AREA_CODE_JP
: 日本。AREA_CODE_IN
: 印度。// 设置限定区域
RtmServiceContext context = new RtmServiceContext();
context.areaCode = RtmServiceContext.RtmAreaCode.AREA_CODE_CN | RtmServiceContext.RtmAreaCode.AREA_CODE_NA;
RtmClient.setRtmServiceContext(context);
如果你的网络环境部署了防火墙,你需要根据你指定的区域将下表中对应的域名添加到防火墙白名单,不对 IP 地址设限,且开放相应端口。
区域 | 域名 |
---|---|
中国大陆 | ap.agoraio.cn report-edge.agoraio.cn service-agoraio.cn |
北美区域 | ap-america.agora.io report-america.agora.io service-america.agora.io |
欧洲区域 | ap-europe.agora.io report-europe.agora.io service-europe.agora.io |
日本 | ap-japan.agora.io report-japan.agora.io service-japan.agora.io |
印度 | ap-india.agora.io report-india.agora.io service-india.agora.io |
除中国大陆外的亚洲区域 | ap-asia.agora.io report-asia.agora.io service-asia.agora.io |
详见应用企业防火墙限制。