2.设置接口 -奇异果体育app竞彩官网下载
更新时间:2019-06-19
2.1 获取服务实例
- 接口形式:bdhttpdns getservice(context context);
- 参数:context context,用户需传入app的上下文对象
- 返回值:bdhttpdns单例对象,用于httpdns解析
2.2 设置httpdns的账号id
- 接口形式:void setaccountid(string accountid);
-
参数:string accountid
- 字符串长度上限为64字节
-
异常:
- 对于非法输入,会抛出illegalargumentexception异常
2.3 设置secret配置信息
- 接口形式:void setsecret(string secret);
-
参数:string secret
- 字符串长度上限为64字节
-
异常:
- 对于非法输入,会抛出illegalargumentexception异常
2.4 设置预加载域名
- 接口形式:void setpreresolvehosts(arraylist
hosts); - 参数:arraylist
hosts -
说明:
- 用于初始化后,对常用域名进行预加载,避免初次请求时缓存不命中
- 调用该接口后,立刻在后台发起异步解析请求
2.5 设置httpdns缓存过期处理策略
- 接口形式:void setcachepolicy(cachepolicy policy)
-
参数:cachepolicy policy
-
policy定义为enum cachepolicy 类型, 取值为:
- policy_aggressive:激进的使用过期缓存策略
- policy_tolerant:一定限度容忍过期缓存
- policy_strict:严格不使用过期缓存
-
-
说明:
-
policy_aggressive
- 说明:激进的策略,无条件地使用过期的httpdns缓存
- 优势:最大程度的避免使用dns解析,减小劫持的风险
- 劣势:httpdns服务异常时,无法降级至dns,无法感知域名切换
-
policy_tolerant
-
说明:一定程度的容忍过期缓存的策略,使用过期缓存,直至获取下一次httpdns服务端的请求结果
- 若请求成功,则更新缓存
- 若请求失败,则删除缓存,提供降级机制
- 优势:常态下避免由于httpdns缓存过期导致降级至dns的问题,同时在httpdns服务故障时提供降级至dns的机制
- policy_tolerant是默认的过期缓存处理策略
-
-
policy_strict
- 说明:保守的策略,严格不使用过期的httpdns缓存
- 优势:严格实现ttl语义
- 劣势:在app长时间idle后,恢复前台时会有较大概率查到缓存过期,此时若不使用httpdns结果,降级至dns,存在域名劫持等风险
-
2.6 设置网络切换处理策略
- 接口形式:void setnetworkswitchpolicy (boolean clearcache , boolean httpdnsprefetch);
-
参数
- boolean clearcache :网络切换后是否清除httpdns及dns cache,默认为true。
- boolean httpdnsprefetch:网络切换后是否对缓存中所有域名进行httpdns预取,默认为true
-
说明:
- 网络切换时,若继续使用cache中的解析结果,则可能造成跨网访问的问题,因此默认的网络切换处理策略是清除httpdns cache中的全部内容
- 网络切换时,尽快获取新的httpdns解析结果能减少使用跨网解析结果的风险,但刷新请求会消耗一定的流量,默认策略是刷新httpdns cache中全部域名的解析结果
2.7 设置httpdns网络请求使用的协议
- 接口形式:void sethttpsrequestenable(boolean ishttps);
-
参数:boolean ishttps
- true:使用https,默认为true
- false:使用http
2.8 设置debug log开关
- 接口形式:void setlogenable(boolean debug);
-
参数:boolean debug
- 默认为false