基礎(chǔ)配置接口
本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業(yè)務(wù)造成影響,請務(wù)必仔細(xì)閱讀。
獲取服務(wù)實(shí)例
獲取HTTPDNS服務(wù)實(shí)例,HTTPDNS SDK支持多實(shí)例,不同的Account ID會(huì)返回不同的實(shí)例。
普通方式
getService
接口定義
HttpDnsService getService(Context applicationContext, String accountID)
所屬類
HttpDns
參數(shù)說明
參數(shù) | 類型 | 是否必填 | 說明 |
applicationContext | Context | 是 | 您的Android App Context。 |
accountID | String | 是 | 系統(tǒng)分配的Account ID,當(dāng)您開通HTTPDNS后,您可在EMAS控制臺的概覽頁面獲取到您對應(yīng)的Account ID信息。 |
代碼示例
val httpdns = HttpDns.getService(applicationContext, accountID)
HttpDnsService httpdns = HttpDns.getService(applicationContext, accountID);
鑒權(quán)方式
getService
接口定義
HttpDnsService getService(Context applicationContext, String accountID, String secretKey);
所屬類
HttpDns
參數(shù)說明
參數(shù) | 類型 | 是否必填 | 說明 |
applicationContext | Context | 是 | Android App的Context。 |
accountID | String | 是 | 系統(tǒng)分配的Account ID,當(dāng)您開通HTTPDNS后,您可在EMAS控制臺的概覽頁面獲取到您對應(yīng)的Account ID信息。 |
secretKey | String | 是 | 鑒權(quán)對應(yīng)的secretKey。 |
代碼示例
val httpdns = HttpDns.getService(applicationContext, accountID, secretKey)
HttpDnsService httpdns = HttpDns.getService(applicationContext, accountID, secretKey);
是否使用HTTPS請求
HTTPDNS SDK進(jìn)行域名解析時(shí),默認(rèn)是通過HTTP協(xié)議發(fā)起解析請求,如果需要使用HTTPS協(xié)議發(fā)起解析請求,需要配置使用HTTPS協(xié)議進(jìn)行域名解析。
setEnableHttps
接口定義
InitConfig.Builder setEnableHttps(boolean enableHttps)
2.2.1版本新增的方法。
所屬類
InitConfig.Builder
參數(shù)說明
參數(shù) | 類型 | 是否必填 | 說明 |
enableHttps | boolean | 是 |
|
代碼示例
InitConfig.Builder()
.setEnableHttps(true)
new InitConfig.Builder()
.setEnableHttps(true);
setHTTPSRequestEnabled
接口定義
void setHTTPSRequestEnabled(boolean enableHttps)
已經(jīng)在2.4.0版本刪除,請使用InitConfig.Builder setEnableHttps(boolean enableHttps)
所屬類
HttpDnsService
參數(shù)說明
參數(shù) | 類型 | 是否必填 | 說明 |
enableHttps | boolean | 是 |
|
是否允許使用過期IP
SDK在解析域名時(shí),會(huì)把解析結(jié)果緩存在內(nèi)存中,過了TTL時(shí)間,則為過期IP,我們默認(rèn)允許返回過期IP,如果您期望不使用過期IP,需要配置不使用過期IP。
當(dāng)設(shè)置為YES時(shí),SDK在實(shí)時(shí)返回過期IP的同時(shí)依然會(huì)進(jìn)行異步更新以獲取最新的IP信息。
setEnableExpiredIp
接口定義
InitConfig.Builder setEnableExpiredIp(boolean enableExpiredIp)
2.2.1版本新增的方法。
所屬類
InitConfig.Builder
參數(shù)說明
參數(shù) | 類型 | 是否必填 | 說明 |
enableExpiredIp | boolean | 是 |
|
代碼示例
InitConfig.Builder()
.setEnableExpiredIp(true)
new InitConfig.Builder()
.setEnableExpiredIp(true);
setExpiredIPEnabled
接口定義
void setExpiredIPEnabled(boolean enableExpiredIp)
已經(jīng)在2.4.0版本刪除,請使用InitConfig.Builder setEnableExpiredIp(boolean enableExpiredIp)
所屬類
HttpDnsService
參數(shù)說明
參數(shù) | 類型 | 是否必填 | 說明 |
enableExpiredIp | boolean | 是 |
|
是否開啟本地緩存
控制是否將解析結(jié)果存儲(chǔ)在本地緩存中,默認(rèn)不開啟。
當(dāng)開啟后,每次解析會(huì)將結(jié)果緩存到本地,當(dāng)下次應(yīng)用啟動(dòng)時(shí),會(huì)從本地加載緩存解析結(jié)果,提高應(yīng)用啟動(dòng)時(shí)獲取解析結(jié)果的速度。
setEnableCacheIp
接口定義
InitConfig.Builder setEnableCacheIp(boolean enableCacheIp, long expiredThresholdMillis)
2.4.3版本新增的方法,開啟本地緩存時(shí),支持指定清除過期一段時(shí)間后的本地緩存結(jié)果。
所屬類
InitConfig.Builder
參數(shù)說明
參數(shù) | 類型 | 是否必填 | 說明 |
enableCacheIp | boolean | 是 |
|
expiredThresholdMillis | long | 是 | 調(diào)用本接口時(shí),SDK從本地緩存中加載記錄到內(nèi)存緩存中時(shí),將過期時(shí)間已經(jīng)超過此 單位為毫秒,默認(rèn)是0毫秒。即,默認(rèn)丟棄已經(jīng)過期的記錄。最大是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版本新增的方法。調(diào)用本方法,從本地持久化緩存中加載記錄到內(nèi)存緩存中時(shí),會(huì)將已經(jīng)過期的本地緩存記錄清除。
所屬類
InitConfig.Builder
參數(shù)說明
參數(shù) | 類型 | 是否必填 | 說明 |
enableCacheIp | boolean | 是 |
|
代碼示例
InitConfig.Builder()
.setEnableCacheIp(true)
new InitConfig.Builder()
.setEnableCacheIp(true);
setCachedIPEnabled
接口定義
void setCachedIPEnabled(boolean enableCacheIp)
void setCachedIPEnabled(boolean enableCacheIp, boolean cleanLocalCache)
已經(jīng)在2.4.0版本刪除,請使用InitConfig.Builder setEnableCacheIp(boolean enableCacheIp)
所屬類
HttpDnsService
參數(shù)說明
參數(shù) | 類型 | 是否必填 | 說明 |
enableCacheIp | boolean | 是 |
|
cleanLocalCache | boolean | 否 | 默認(rèn)是false。 啟用持久化緩存時(shí)生效:
|
是否開啟網(wǎng)絡(luò)變化自動(dòng)解析
設(shè)置網(wǎng)絡(luò)切換時(shí)是否自動(dòng)刷新所有域名解析結(jié)果,如果打開此開關(guān),在網(wǎng)絡(luò)切換時(shí),會(huì)自動(dòng)刷新所有域名的解析結(jié)果,但會(huì)產(chǎn)生一些流量消耗。
WiFi、蜂窩、無網(wǎng)這三個(gè)狀態(tài)的切換算網(wǎng)絡(luò)切換。
4G與3G切換不算網(wǎng)絡(luò)切換。
SIM卡切換也不會(huì)單獨(dú)處理。
setPreResolveAfterNetworkChanged
接口定義
InitConfig.Builder setPreResolveAfterNetworkChanged(boolean enable)
2.4.0版本新增方法。
所屬類
InitConfig.Builder
參數(shù)說明
參數(shù) | 類型 | 是否必填 | 說明 |
enable | boolean | 是 |
|
代碼示例
InitConfig.Builder()
.setPreResolveAfterNetworkChanged(true)
new InitConfig.Builder()
.setPreResolveAfterNetworkChanged(true);
setPreResolveAfterNetworkChanged
接口定義
void setPreResolveAfterNetworkChanged(boolean enable)
已經(jīng)在2.4.0版本刪除,請使用InitConfig.Builder setPreResolveAfterNetworkChanged(boolean enable)
所屬類
HttpDnsService
參數(shù)說明
參數(shù) | 類型 | 是否必填 | 說明 |
enable | boolean | 是 |
|
超時(shí)配置
設(shè)置域名解析超時(shí)時(shí)間,默認(rèn)為2s。
setTimeoutMillis
2.4.0版本新增的方法。
接口定義
InitConfig.Builder setTimeoutMillis(int timeoutInterval)
所屬類
InitConfig.Builder
參數(shù)說明
參數(shù) | 類型 | 是否必填 | 說明 |
timeoutInterval | int | 是 | 時(shí)間單位為毫秒 超時(shí)時(shí)長,默認(rèn)2秒,最大5秒 |
代碼示例
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
參數(shù)說明
參數(shù) | 類型 | 是否必填 | 說明 |
timeoutInterval | int | 是 | 時(shí)間單位為毫秒 超時(shí)時(shí)長,默認(rèn)2秒,最大5秒 |
代碼示例
InitConfig.Builder()
.setTimeout(2 * 1000)
new InitConfig.Builder()
.setTimeout(2 * 1000);
setTimeoutInterval
接口定義
void setTimeoutInterval(int timeoutInterval)
已經(jīng)在2.4.0版本刪除,請使用InitConfig.Builder setTimeoutMillis(int timeoutInterval)
所屬類
HttpDnsService
參數(shù)說明
參數(shù) | 類型 | 是否必填 | 說明 |
timeoutInterval | int | 是 | 時(shí)間單位為毫秒 超時(shí)時(shí)長,默認(rèn)2秒,最大5秒 |