SDK 可以将域名同时解析为 IPv4 和 IPv6 地址。同时,SDK 会监测当前网络环境对 IPv4 和 IPv6 的支持情况,并返回合适的解析结果。因此,您无需自行添加逻辑对网络环境进行判断。
在 app 冷启动,切到前台或网络发生切换时,SDK 会探测当前网络环境是否支持 IPv4 或 IPv6。
支持 IPv4 | 支持 IPv6 | 返回的 IP 地址类型 |
---|---|---|
是 | 是 | IPv4 和 IPv6 |
是 | 否 | IPv4 |
否 | 是 | IPv6 |
否 | 否 | IPv4 |
您可以根据 App 的网络环境,选择合适的解析结果。解析结果由 DnsResult 对象(Android) 和 TTDnsExportResult 对象(iOS)返回。
如果当前网络环境仅支持 IPv6,SDK 默认优先返回 Local DNS 的解析结果。通过配合使用 enableHttpdnsWithIpv6Only 属性和 setHttpDnsPrefer 方法,您可以设置 SDK 优先返回 HTTPDNS 服务端的解析结果。