本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
获取服务实例
获取HTTPDNS服务实例,HTTPDNS SDK支持多实例,不同的Account ID会返回不同的实例。
getService
接口定义
HttpDnsService getService(String accountID)
2.6.1版本新增的方法。
所属类
HttpDns
参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
accountID | String | 是 | 系统分配的Account ID,当您开通HTTPDNS后,您可在EMAS控制台 > xx项目 > 平台服务 > HTTPDNS > 开发配置页面获取到您对应的Account ID信息。 |
代码示例
val httpdns = HttpDns.getService(accountID)
HttpDnsService httpdns = HttpDns.getService(accountID);
getService
接口定义
HttpDnsService getService(Context applicationContext, String accountID);
2.6.1版本开始被弃用了该方法,请使用HttpDnsService getService(String accountID)。
2.6.1版本开始Context建议通过InitConfig.Builder setContext(Context context)设置。
所属类
HttpDns
参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
applicationContext | Context | 是 | 您的Android App Context。 |
accountID | String | 是 | 系统分配的Account ID,当您开通HTTPDNS后,您可在EMAS控制台 > xx项目 > 平台服务 > HTTPDNS > 开发配置页面获取到您对应的Account ID信息。 |
getService
接口定义
HttpDnsService getService(Context applicationContext, String accountID, String secretKey);
2.6.1版本开始被弃用了该方法,请使用HttpDnsService getService(String accountID)。
2.6.1版本开始Context建议通过InitConfig.Builder setContext(Context context)设置。
2.6.1版本开始secretKey建议通过InitConfig.Builder setSecretKey(String secretKey)设置。
所属类
HttpDns
参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
applicationContext | Context | 是 | 您的Android App Context。 |
accountID | String | 是 | 系统分配的Account ID,当您开通HTTPDNS后,您可在EMAS控制台 > xx项目 > 平台服务 > HTTPDNS > 开发配置页面获取到您对应的Account ID信息。 |
secretKey | String | 是 | 鉴权对应的secretKey。 |
设置Context
设置HTTPDNS解析过程中使用的Context。
setContext
接口定义
InitConfig.Builder setContext(Context context)
2.6.1版本新增的方法。
所属类
InitConfig.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
context | Context | 是 | 设置当前app的applicationContext。 |
代码示例
InitConfig.Builder()
.setContext(context)
new InitConfig.Builder()
.setContext(context);
设置解析接口加签密钥
设置HTTPDNS解析过程中加签时使用的密钥。
setSecretKey
接口定义
InitConfig.Builder setSecretKey(String secretKey)
2.6.1版本新增的方法。
所属类
InitConfig.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
secretKey | String | 是 | 加签密钥。 |
代码示例
InitConfig.Builder()
.setSecretKey(secretKey)
new InitConfig.Builder()
.setSecretKey(secretKey);
设置解析接口加密密钥
设置HTTPDNS解析过程中加密时使用的密钥。
setAesSecretKey
接口定义
InitConfig.Builder setAesSecretKey(String aesSecretKey)
2.6.1版本新增的方法。
所属类
InitConfig.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
aesSecretKey | String | 是 | 加密密钥。 |
代码示例
InitConfig.Builder()
.setAesSecretKey(aesSecretKey)
new InitConfig.Builder()
.setAesSecretKey(aesSecretKey);
是否使用HTTPS请求
HTTPDNS SDK进行域名解析时,默认是通过HTTP协议发起解析请求,如果需要使用HTTPS协议发起解析请求,需要配置使用HTTPS协议进行域名解析。
setEnableHttps
接口定义
InitConfig.Builder setEnableHttps(boolean enableHttps)
2.2.1版本新增的方法。
所属类
InitConfig.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
enableHttps | boolean | 是 | 设置是否使用https协议解析域名。
|
代码示例
InitConfig.Builder()
.setEnableHttps(true)
new InitConfig.Builder()
.setEnableHttps(true);
setHTTPSRequestEnabled
接口定义
void setHTTPSRequestEnabled(boolean enableHttps)
已经在2.4.0版本删除,请使用InitConfig.Builder setEnableHttps(boolean enableHttps)
所属类
HttpDnsService
参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
enableHttps | boolean | 是 | 设置是否使用https协议解析域名。
|
是否允许使用过期IP
SDK在解析域名时,会把解析结果缓存在内存中,过了TTL时间(该域名解析结果的TTL缓存时间),则为过期IP,我们默认(默认设置为true)允许返回过期IP,如果您期望不使用过期IP,需要配置不使用过期IP。
当设置为true时,SDK在实时返回过期IP的同时依然会进行异步更新以获取最新的IP信息。
setEnableExpiredIp
接口定义
InitConfig.Builder setEnableExpiredIp(boolean enableExpiredIp)
2.2.1版本新增的方法。
所属类
InitConfig.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
enableExpiredIp | boolean | 是 | 设置是否允许返回超过ttl 的ip。
|
代码示例
InitConfig.Builder()
.setEnableExpiredIp(true)
new InitConfig.Builder()
.setEnableExpiredIp(true);
setExpiredIPEnabled
接口定义
void setExpiredIPEnabled(boolean enableExpiredIp)
已经在2.4.0版本删除,请使用InitConfig.Builder setEnableExpiredIp(boolean enableExpiredIp)
所属类
HttpDnsService
参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
enableExpiredIp | boolean | 是 | 设置是否允许返回超过ttl 的ip。
|
是否开启本地缓存
控制是否将解析结果存储在本地缓存中,默认不开启。
当开启后,每次解析会将结果缓存到本地,当下次应用启动时,会从本地加载缓存解析结果,提高应用启动时获取解析结果的速度。
setEnableCacheIp
接口定义
InitConfig.Builder setEnableCacheIp(boolean enableCacheIp, long expiredThresholdMillis)
2.4.3版本新增的方法,开启本地缓存时,支持指定清除过期一段时间后的本地缓存结果。
所属类
InitConfig.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
enableCacheIp | boolean | 是 | 控制是否启用本地缓存。
|
expiredThresholdMillis | long | 是 | 调用本接口时,SDK从本地缓存中加载记录到内存缓存中时,将过期时间已经超过此 单位为毫秒,默认是0毫秒。即,默认丢弃已经过期的记录。最大是1年。 |
代码示例
InitConfig.Builder()
.setEnableCacheIp(true, DateUtils.YEAR_IN_MILLIS)
new InitConfig.Builder()
.setEnableCacheIp(true, DateUtils.YEAR_IN_MILLIS);
setEnableCacheIp
接口定义
InitConfig.Builder setEnableCacheIp(boolean enableCacheIp)
2.2.1版本新增的方法。调用本方法,从本地持久化缓存中加载记录到内存缓存中时,会将已经过期的本地缓存记录清除。
所属类
InitConfig.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
enableCacheIp | boolean | 是 | 控制是否启用本地缓存。
|
代码示例
InitConfig.Builder()
.setEnableCacheIp(true)
new InitConfig.Builder()
.setEnableCacheIp(true);
setCachedIPEnabled
接口定义
void setCachedIPEnabled(boolean enableCacheIp)
void setCachedIPEnabled(boolean enableCacheIp, boolean cleanLocalCache)
已经在2.4.0版本删除,请使用InitConfig.Builder setEnableCacheIp(boolean enableCacheIp)
所属类
HttpDnsService
参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
enableCacheIp | boolean | 是 | 控制是否启用本地缓存。
|
cleanLocalCache | boolean | 否 | 设置读取本地缓存之后,是否清除本地缓存。 启用持久化缓存时生效。
默认是false。 |
是否开启网络变化自动解析
设置网络切换时是否自动刷新所有域名解析结果,如果打开此开关,在网络切换时,会自动刷新所有域名的解析结果,但会产生一些流量消耗。
WiFi、蜂窝、无网这三个状态的切换算网络切换。
4G与3G切换不算网络切换。
SIM卡切换也不会单独处理。
setPreResolveAfterNetworkChanged
接口定义
InitConfig.Builder setPreResolveAfterNetworkChanged(boolean enable)
2.4.0版本新增方法。
所属类
InitConfig.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
enable | boolean | 是 | 设置是否在网络切换时,重新解析缓存中的所有域名。
|
代码示例
InitConfig.Builder()
.setPreResolveAfterNetworkChanged(true)
new InitConfig.Builder()
.setPreResolveAfterNetworkChanged(true);
setPreResolveAfterNetworkChanged
接口定义
void setPreResolveAfterNetworkChanged(boolean enable)
所属类
HttpDnsService
参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
enable | boolean | 是 | 设置是否在网络切换时,重新解析缓存中的所有域名。
|
超时配置
设置域名解析超时时间,默认为2000ms。
setTimeoutMillis
2.4.0版本新增的方法。
接口定义
InitConfig.Builder setTimeoutMillis(int timeoutInterval)
所属类
InitConfig.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
timeoutInterval | int | 是 | 设置域名解析超时时间,时间单位为毫秒。 默认2000ms,最大5000ms。 |
代码示例
InitConfig.Builder()
setTimeoutMillis.(2 * 1000)
new InitConfig.Builder()
.setTimeoutMillis(2 * 1000);
setTimeout
2.4.0版本废弃了该方法,请使用InitConfig.Builder setTimeoutMillis(int timeoutInterval)
接口定义
InitConfig.Builder setTimeout(int timeoutInterval)
所属类
InitConfig.Builder
参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
timeoutInterval | int | 是 | 设置域名解析超时时间,时间单位为毫秒。 默认2000ms,最大5000ms。 |
代码示例
InitConfig.Builder()
.setTimeout(2 * 1000)
new InitConfig.Builder()
.setTimeout(2 * 1000);
setTimeoutInterval
接口定义
void setTimeoutInterval(int timeoutInterval)
已经在2.4.0版本删除,请使用InitConfig.Builder setTimeoutMillis(int timeoutInterval)
所属类
HttpDnsService
参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
timeoutInterval | int | 是 | 设置域名解析超时时间,时间单位为毫秒。 超时时长,默认2000ms,最大5000ms |
- 本页导读 (0)
- 获取服务实例
- getService
- getService
- getService
- 设置Context
- setContext
- 设置解析接口加签密钥
- setSecretKey
- 设置解析接口加密密钥
- setAesSecretKey
- 是否使用HTTPS请求
- setEnableHttps
- setHTTPSRequestEnabled
- 是否允许使用过期IP
- setEnableExpiredIp
- setExpiredIPEnabled
- 是否开启本地缓存
- setEnableCacheIp
- setEnableCacheIp
- setCachedIPEnabled
- 是否开启网络变化自动解析
- setPreResolveAfterNetworkChanged
- setPreResolveAfterNetworkChanged
- 超时配置
- setTimeoutMillis
- setTimeout
- setTimeoutInterval