前言
Android SDK提供的API接口,根据功能特性可以分为以下几类:
配置接口:SDK初始化、安全设置、性能优化、网络适配等
域名解析接口:同步/异步/非阻塞解析、预解析、缓存管理等
排查追踪接口:会话跟踪、日志管理、调试支持等
自定义解析接口:用于自定义解析的同步/异步/非阻塞解析接口
常用数据结构接口:解析结果、解析回调函数、自定义缓存TTL、解析域名过滤器等
根据对接口的支持程度,可以分为:
推荐接口:当前SDK版本推荐使用的接口,进行了功能或体验优化,建议使用。
废弃接口:由于功能重构或设计优化等原因不再推荐使用的接口,部分接口在新版本中可能已被移除,建议迁移到对应的推荐接口以获得更好的性能和稳定性。
本文提供Android SDK提供的所有API接口概览,帮助您快速了解和使用HTTPDNS Android SDK的各项功能。
配置接口
配置接口用于初始化和配置HTTPDNS SDK的各项功能,包括服务实例获取、缓存策略、网络参数、安全设置等。通过这些接口可以根据应用需求定制SDK的行为,优化解析性能和安全性。
推荐接口
所属类 | 函数声明 | 功能描述 | 引入版本 |
HttpDns | 获取HTTPDNS服务实例 | 2.6.3 | |
InitConfig.Builder | 设置应用上下文 | 2.6.3 | |
InitConfig.Builder | 设置加签密钥 | 2.6.3 | |
InitConfig.Builder | 设置加密密钥 | 2.6.3 | |
InitConfig.Builder | 设置是否启用HTTPS协议与服务端通信 | 2.2.2 | |
InitConfig.Builder | 设置是否允许返回过期IP | 2.2.2 | |
InitConfig.Builder | 允许使用过期一段时间的本地缓存 | 2.4.3 | |
InitConfig.Builder | 开启本地缓存功能 | 2.2.2 | |
InitConfig.Builder | 设置是否在网络变化时自动刷新本地缓存 | 2.4.0 | |
InitConfig.Builder | 设置解析超时时间阈值 | 2.4.0 | |
HttpDnsService | 校正签名时间 | 1.3.2 | |
InitConfig.Builder | 初始化设置region节点 | 2.4.2 | |
HttpDnsService | 更新region节点 | 2.4.2 | |
HttpDnsService | 更新region节点 | 2.4.2 | |
InitConfig.Builder | 自定义解析结果的缓存时间 | 2.3.0 | |
InitConfig.Builder | 设置不使用HTTPDNS解析的域名过滤器 | 2.4.0 | |
InitConfig.Builder | 设置IP优选的域名和探测端口 | 2.3.2 | |
InitConfig.Builder | 设置自定义解析的全局参数 | 2.4.0 |
废弃接口
域名解析接口
域名解析接口是HTTPDNS SDK的核心功能,提供多种域名解析方式,包括同步解析、异步解析和非阻塞解析。支持IPv4/IPv6双栈解析,可根据网络环境自动选择最优解析策略,并提供预解析和缓存管理功能。
推荐接口
所属类 | 函数声明 | 功能描述 | 引入版本 |
HttpDnsService | 设置预解析域名列表 | 2.4.0 | |
HttpDnsService | 同步解析域名,阻塞线程 | 2.3.2 | |
HttpDnsService | getHttpDnsResultForHostAsync(String, RequestIpType, HttpDnsCallback) | 异步解析域名,回调返回结果 | 2.4.0 |
HttpDnsService | getHttpDnsResultForHostSyncNonBlocking(String, RequestIpType) | 同步非阻塞解析,仅查缓存,缓存不存在,直接返回空 | 2.4.0 |
HttpDnsService | 主动清空指定域名列表的缓存 | 2.2.2 |
废弃接口
排查追踪接口
排查追踪接口用于问题诊断和性能监控,提供会话跟踪、日志管理等功能。通过这些接口可以获取解析过程的详细信息,便于开发者调试和运维人员排查问题,提升应用的可观测性。
推荐接口
所属类 | 函数声明 | 功能描述 | 引入版本 |
HttpDnsService | 获取本次进程中与HTTPDNS服务端交互的会话ID | 1.3.2 | |
HttpDnsLog | 控制日志输出开关 | 2.0.2 | |
HttpDnsLog | 设置日志回调接口 | 2.0.2 | |
HttpDnsLog | 删除日志回调类 | 2.0.2 |
自定义解析接口
自定义解析接口支持传递额外参数进行域名解析,满足特殊业务场景需求。可以通过自定义参数实现精细化的解析控制,如传递业务标识等,为不同业务场景提供个性化的解析服务。
推荐接口
所属类 | 函数声明 | 功能描述 | 引入版本 |
HttpDnsService | getHttpDnsResultForHostSync(String, RequestIpType, Map<String, String>, String) | 同步解析接口,允许指定解析类型 | 2.4.0 |
HttpDnsService | getHttpDnsResultForHostAsync(String, RequestIpType, Map<String, String>, String, HttpDnsCallback) | 异步解析接口,允许制定解析类型 | 2.4.0 |
HttpDnsService | getHttpDnsResultForHostSyncNonBlocking(String, RequestIpType, Map<String, String>, String) | 同步非阻塞接口,允许制定解析类型 | 2.4.0 |
废弃接口
常用数据结构接口
常用数据结构接口定义了SDK中使用的核心数据类型和回调接口,包括解析结果封装、回调函数、过滤器、配置枚举等。这些接口为SDK的各项功能提供了统一的数据模型和交互规范。
推荐接口
所属类 | 函数声明 | 功能描述 | 引入版本 |
HTTPDNSResult | 获取解析的域名 | 1.3.2 | |
HTTPDNSResult | 获取IPv4地址数组 | 1.3.2 | |
HTTPDNSResult | 获取IPv6地址数组 | 2.0.2 | |
HTTPDNSResult | 获取自定义解析返回的额外参数 | 1.3.2 | |
HTTPDNSResult | 判断解析结果是否过期 | 2.0.2 | |
HttpDnsCallback | 解析完成时的回调函数 | 2.4.0 | |
CacheTtlChanger | 自定义缓存TTL回调函数 | 2.3.0 | |
NotUseHttpDnsFilter | 设置不使用HTTPDNS解析的回调函数 | 2.4.0 | |
ILogger | 日志输出接口 | 1.3.2 | |
Region | - | 区域枚举类型 | 2.4.2 |