地理围栏
功能简介
地理围栏指将即时通信数据传输限定在某一区域,用以满足地区数据隐私安全相关法规,即限定访问某一特定区域的通信服务。例如,当指定的地理围栏区域为欧洲时,不区分 App 用户所在区域,SDK 实际访问的区域将为欧洲。
指定的地理围栏区域 | App 用户所在区域 | SDK 实际访问的区域 | 连接后的用户体验 |
---|---|---|---|
欧洲 | 欧洲 | 欧洲 | 正常 |
欧洲 | 中国 | 欧洲 | 可能受到较大影响 |
注意
- 如果指定地理围栏区域的服务器都不可用,SDK 会直接报错。
- 由于指定地理围栏区域与 App 用户所在区域之间存在跨区域公共互联网,公共互联网网络质量较差会导致通信体验受到影响。
当前 SDK 支持配置地区如下:
说明
如需支持更多区域,请联系 ZEGO 技术支持。
地区 | 枚举 | 枚举值 |
---|---|---|
中国大陆,不包含港澳台 | CN | 2 |
北美 | NA | 3 |
欧洲,包括英国 | EU | 4 |
亚洲,不包括中国大陆和印度 | AS | 5 |
印度 | IN | 6 |
实现流程
1 开通地理围栏权限
地理围栏能力在某些情况下需要进行收费,请联系 ZEGO 商务确认并开通地理围栏权限。
2 设置地理围栏
在创建 SDK 之前,调用 setGeofencingConfig 接口,设置地理围栏信息。
- 地理围栏信息:包括地理围栏类型和地理围栏区域列表。
- 地理围栏类型:包括联合(Include)和排除(Exclude)两种类型,地理围栏类型将作用于地理围栏区域列表。
- 联合:表示区域列表内的所有区域都包含在地理围栏内。
- 排除:表示区域列表内容所有区域都排除在地理围栏外。
注意
请在调用 createWithAppConfig 之前配置地理围栏信息,否则无效。
联合模式示例
排除模式示例
// 设置联合模式的示例
// 设置联合模式
ZIMGeofencingType type = ZIMGeofencingTypeInclude;
// 设置区域列表信息,最少设置 1 个,最多设置不得大于 SDK 所支持个数
NSMutableArray<NSNumber *> *arealist = [[NSMutableArray alloc] init];
[arealist addObject:@ZIMZIMGeofencingAreaCN];
[arealist addObject:@ZIMZIMGeofencingAreaNA];
// 这个接口在 createWithAppConfig 之前调用
[ZIM setGeofencingConfigWithAreaList:arealist type:type];
1
// 设置排除模式的示例
// 设置排除模式
ZIMGeofencingType type = ZIMGeofencingTypeExclude;
// 设置区域列表信息,最少设置 1 个,最多设置不得大于 SDK 所支持个数
NSMutableArray<NSNumber *> *arealist = [[NSMutableArray alloc] init];
[arealist addObject:@ZIMZIMGeofencingAreaCN];
[arealist addObject:@ZIMZIMGeofencingAreaNA];
// 这个接口在 createWithAppConfig 之前调用
[ZIM setGeofencingConfigWithAreaList:arealist type:type];
1
3 其他功能接入
完成地理围栏设置后,即可进行其他功能接入。