すべてのプロダクト
Search
ドキュメントセンター

HTTPDNS:設定インターフェイス (非推奨)

最終更新日:Nov 09, 2025

サービスインスタンスの取得

HTTPDNS サービスインスタンスを取得できます。HTTPDNS software development kit (SDK) は複数のインスタンスをサポートしています。アカウント ID ごとに異なるインスタンスが返されます。

アカウント ID で初期化された各インスタンスは、シングルトンデザインパターンを使用します。初期化後、インスタンスはアプリのライフサイクルを通じて永続化され、再度作成されることはありません。

getService

インターフェイス定義

HttpDnsService getService(Context applicationContext, String accountID);

クラス

HttpDns

導入バージョン

1.2.3

非推奨バージョン

2.6.3

代替インターフェイス

HttpDnsService getService(String accountID)

InitConfig.Builder setContext(Context context)

パラメーター

パラメーター

タイプ

必須

説明

applicationContext

Context

はい

Android アプリの Context。

accountID

String

はい

システムによって割り当てられたアカウント ID。HTTPDNS を有効化した後、EMAS コンソールでアカウント ID を取得できます。[プロジェクト名] > [プラットフォームサービス] > [HTTPDNS] > [開発者設定] に移動します。

getService

インターフェイス定義

HttpDnsService getService(Context applicationContext, String accountID, String secretKey);

クラス

HttpDns

導入バージョン

1.3.2

非推奨バージョン

2.6.3

代替インターフェイス

HttpDnsService getService(String accountID)

InitConfig.Builder setContext(Context context)

InitConfig.Builder setSecretKey(String secretKey)

パラメーター

パラメーター

タイプ

必須

説明

applicationContext

Context

はい

Android アプリの Context。

accountID

String

はい

システムによって割り当てられたアカウント ID。HTTPDNS を有効化した後、EMAS コンソールでアカウント ID を取得できます。[プロジェクト名] > [プラットフォームサービス] > [HTTPDNS] > [開発者設定] に移動します。

secretKey

String

はい

認証用のシークレットキー。

HTTPS リクエストの使用

デフォルトでは、HTTPDNS SDK は HTTP 経由でドメイン名解決リクエストを送信します。これらのリクエストを HTTPS 経由で送信するには、HTTPS プロトコルを使用するように SDK を設定する必要があります。

HTTPS リクエストを使用すると、セキュリティが向上します。HTTP リクエストと HTTPS リクエストでは課金が異なることに注意してください。課金の詳細については、「課金」をご参照ください。

setHTTPSRequestEnabled

インターフェイス定義

void setHTTPSRequestEnabled(boolean enableHttps)

クラス

HttpDnsService

導入バージョン

1.3.2

バージョンで削除

2.4.0

代替インターフェイス

InitConfig.Builder setEnableHttps(boolean enableHttps)

パラメーター

パラメーター

タイプ

必須

説明

enableHttps

boolean

はい

ドメイン名解決に HTTPS プロトコルを使用するかどうかを指定します。

  • true: HTTPS 解決を有効にします。

  • false: HTTPS 解決を無効にします。

期限切れ IP アドレスの使用を許可する

SDK は DNS プロトコルに従い、Time-to-Live (TTL) 値に基づいてドメイン名解決結果をキャッシュします。これにより、アプリがネットワークリクエストを開始したときに IP アドレスを取得する効率が向上します。キャッシュの有効期限が切れ、アプリが解決インターフェイスを呼び出して IP アドレスを取得すると、さまざまなシナリオが発生する可能性があります:

  1. アプリが同期非ブロッキングインターフェイスを呼び出すと、インターフェイスは空の結果を返します。これは、キャッシュの有効期限が切れており、SDK がサーバーから新しい解決結果をすぐに取得できないために発生します。スレッドのブロッキングを避けるために、呼び出し元は Local DNS 解決へのフォールバックを処理する必要があります。

  2. アプリが同期または非同期インターフェイスを呼び出すと、SDK は解決リクエストを送信してサーバーから新しい結果を取得します。このプロセスには時間がかかります。同期インターフェイスは、新しい結果を取得するまでスレッドをブロックします。非同期インターフェイスは、新しい結果を取得した後にのみコールバックを呼び出します。

SDK は、期限切れの IP アドレスを再利用するオプションを提供します。このオプションを true に設定すると、どちらのシナリオでもインターフェイスは期限切れの IP アドレスをすぐに返すことができます。これにより、ドメイン名解決の処理時間が短縮され、ネットワークリクエストのパフォーマンスが向上します。期限切れの IP アドレスを返した後、SDK は非同期スレッドも開始してドメイン名を解決し、新しい結果を取得します。

このオプションの副作用は最小限です。これは、プライマリサイトのドメインや静的ゲートウェイのドメインなど、解決されたドメイン名の DNS レコードが頻繁に変更されない場合に特に当てはまります。DNS レコードが変更された場合、このオプションを有効にすると、そのドメイン名のキャッシュの有効期限が切れた後の最初のリクエストにのみ影響します。これは、SDK が呼び出されて期限切れの IP アドレスを見つけると、常にすぐに解決の更新を開始するためです

この機能はデフォルトで有効になっています。

重要

[true] に設定すると、SDK は期限切れの IP アドレスをリアルタイムで返し、非同期更新を実行して最新の IP 情報を取得します。

setExpiredIPEnabled

インターフェイス定義

void setExpiredIPEnabled(boolean enableExpiredIp)

クラス

HttpDnsService

導入バージョン

1.3.2

削除バージョン

2.4.0

代替インターフェイス

InitConfig.Builder setEnableExpiredIp(boolean enableExpiredIp)

パラメーター

パラメーター

タイプ

必須

説明

enableExpiredIp

boolean

はい

TTL を超えた IP アドレスを返すことを許可するかどうかを指定します。

  • true: 期限切れの IP アドレスを返すことを許可します。

  • false: 期限切れの IP アドレスを返しません。

ローカルキャッシュの有効化

永続キャッシュ機能は、起動後のドメイン名解決にかかる時間を最適化します。これにより、最初の画面の読み込み速度が向上します。

有効にすると、HTTPDNS は最後の解決結果をローカルの永続化レイヤーに保存します。アプリの再起動後、各ドメイン名の最初の解決では、最速の解決のために永続化レイヤーからキャッシュされた結果の取得が優先されます。このため、最初に使用される IP アドレスは、キャッシュされた TTL が経過した期限切れのものである可能性があります。ただし、ほとんどの場合、この IP アドレスは引き続き使用できます。これは、DNS レコードが安定しているドメイン名に特に当てはまります。

setCachedIPEnabled

インターフェイス定義

void setCachedIPEnabled(boolean enableCacheIp)

void setCachedIPEnabled(boolean enableCacheIp, boolean cleanLocalCache)

クラス

HttpDnsService

導入バージョン

1.3.2

削除バージョン

2.4.0

代替インターフェイス

InitConfig.Builder setEnableCacheIp(boolean enableCacheIp)

パラメーター

パラメーター

タイプ

必須

説明

enableCacheIp

boolean

はい

ローカルキャッシュを有効にするかどうかを制御します。

  • true: ローカルキャッシュを有効にします。

  • false: ローカルキャッシュを無効にします。

cleanLocalCache

boolean

いいえ

読み取り後にローカルキャッシュをクリアするかどうかを指定します。

このパラメーターは、永続キャッシュが有効な場合に有効になります。

  • true: 読み取り後にローカルキャッシュをクリアします。

  • false: 読み取り後にローカルキャッシュをクリアしません。

デフォルト値は false です。

ネットワーク変更時の自動解決の有効化

デバイスのネットワークが Wi-Fi ネットワークからセルラーネットワークに切り替わるなど、変更された場合、HTTPDNS SDK は以前にキャッシュされた IP アドレスを返し続けることがあります。これにより、ネットワーク間のリクエストが発生し、リクエストのパフォーマンスと成功率に影響します。これを防ぐために、SDK はネットワーク変更イベントをリッスンし、グローバル解決キャッシュをクリアするかどうかをインテリジェントに決定します。

このインターフェイスは、ネットワークの変更によりグローバル解決キャッシュをクリアした後、SDK がすべてのドメイン名の解決結果を自動的にリフレッシュするかどうかを設定します。有効にすると、ビジネスネットワークリクエストはネットワーク切り替え直後に新しい結果を取得できます。これにより、ドメイン名解決の時間が短縮され、リクエストのパフォーマンスが向上します。

この機能を有効にすると、解決リクエストの数がわずかに増加する場合があります。この機能はデフォルトで無効になっています。

重要
  • Wi-Fi、セルラーネットワーク、およびネットワークなしの間の切り替えは、ネットワークトランジションと見なされます。

  • 4G と 3G の間の切り替えは、ネットワークトランジションとは見なされません。

  • SIM カードの切り替えは別途処理されません。

setPreResolveAfterNetworkChanged

インターフェイス定義

void setPreResolveAfterNetworkChanged(boolean enable)

クラス

HttpDnsService

導入バージョン

1.3.2

削除バージョン

2.4.0

代替インターフェイス

InitConfig.Builder setPreResolveAfterNetworkChanged(boolean enable)

パラメーター

パラメーター

タイプ

必須

説明

enable

boolean

はい

ネットワークが変更されたときにキャッシュ内のすべてのドメイン名を再解決するかどうかを指定します。

  • [true] に設定すると、SDK はネットワークが変更されたときにキャッシュ内のすべてのドメイン名を再解決してリフレッシュします。

  • [false] に設定するか、設定しない場合、SDK はネットワークが変更されたときにすべてのドメイン名のキャッシュを削除するだけです。ドメイン名は、次にアクセスされたときにのみ再解決されます。

タイムアウト設定

ドメイン名解決のタイムアウト期間を設定できます。デフォルトは 2000 ms です。

setTimeout

インターフェイス定義

InitConfig.Builder setTimeout(int timeoutInterval)

クラス

InitConfig.Builder

導入バージョン

2.0.2

非推奨バージョン

2.4.0

代替インターフェイス

InitConfig.Builder setTimeoutMillis(int timeoutInterval)

パラメーター

パラメーター

タイプ

必須

説明

timeoutInterval

int

はい

ドメイン名解決のタイムアウト期間をミリ秒単位で設定します。 デフォルトは 2000 ms です。最大は 5000 ms です。

コード例

InitConfig.Builder()
    .setTimeout(2 * 1000)
new InitConfig.Builder()
    .setTimeout(2 * 1000);

setTimeoutInterval

インターフェイス定義

void setTimeoutInterval(int timeoutInterval)

クラス

HttpDnsService

導入バージョン

1.3.2

削除バージョン

2.4.0

代替インターフェイス

InitConfig.Builder setTimeoutMillis(int timeoutInterval)

パラメーター

パラメーター

タイプ

必須

説明

timeoutInterval

int

はい

ドメイン名解決のタイムアウト期間をミリ秒単位で設定します。 デフォルトのタイムアウトは 2000 ms です。最大は 5000 ms です。

リージョンノードの設定

アプリが中国国外で HTTPDNS を使用する必要がある場合は、SDK の起動サービスノードを設定して解決効率を向上させることができます。ノードを設定すると、SDK はそれをドメイン名解決およびスケジューling ノードリストの後続の更新に使用します。

setRegion

初期化中にリージョンノードを設定できます。

インターフェイス定義

InitConfig.Builder setRegion(String region)

クラス

InitConfig.Builder

導入バージョン

1.3.2

非推奨バージョン

2.4.2

代替インターフェイス

InitConfig.Builder setRegion(Region region)

パラメーター

パラメーター

タイプ

必須

説明

region

String

はい

リージョンノード。サービスエリア選択のために中国国外のリージョンを設定します。現在、`hk` (中国 (香港) ノード)、`sg` (シンガポールノード)、`de` (ドイツノード)、および `us` (米国ノード) のみがサポートされています。リージョンを指定すると、ローカルサービスノードが返されます。 リージョンを指定しない場合、中国本土のサービスノードが使用されます。

コード例

InitConfig.Builder()
    .setRegion("hk");
new InitConfig.Builder()
    .setRegion("hk");

HTTPDNS ドメイン名のブラックリストの設定

特定のドメイン名が HTTPDNS によって解決されるのを防ぐには、このインターフェイスを使用してそれらをフィルターで除外できます。フィルターで除外されたドメイン名は空の解決結果を返します。解決には Local DNS にフォールバックする必要があります。

setDegradationFilter

インターフェイス定義

InitConfig.Builder setDegradationFilter(DegradationFilter filter)

クラス

InitConfig.Builder

導入バージョン

2.4.0

非推奨バージョン

2.4.0

代替インターフェイス

InitConfig.Builder setNotUseHttpDnsFilter(NotUseHttpDnsFilter filter)

パラメーター

パラメーター

タイプ

必須

説明

filter

共通データ構造インターフェイス

はい

ブラックリストポリシーを設定します。

setIPRankingList

インターフェイス定義

void setIPRankingList(List<IPRankingBean> ipRankingList)

クラス

HttpDnsService

導入バージョン

2.3.2

削除バージョン

2.4.0

代替インターフェイス

InitConfig.Builder setIPRankingList(List<IPRankingBean> ipRankingList)

パラメーター

パラメーター

タイプ

必須

説明

ipRankingList

List<IPRankingBean>

はい

IP ランキングリストを設定します。このインターフェイスを設定した後、対応するドメイン名が解決されると、SDK は返された IP アドレスをプローブします。その後、リストを動的にソートして、最初の IP アドレスの可用性が向上するようにします。

setIPProbeList

インターフェイス定義

void setIPProbeList(List<IPRankingBean> ipProbeList)

クラス

HttpDnsService

導入バージョン

1.3.2

非推奨バージョン

2.3.2

削除バージョン

2.3.2

代替インターフェイス

InitConfig.Builder setIPRankingList(List<IPRankingBean> ipRankingList)

パラメーター

パラメーター

タイプ

必須

説明

ipProbeList

List<IPProbeItem>

はい

IP ランキングリストを設定します。このインターフェイスを設定した後、対応するドメイン名が解決されると、SDK は返された IP アドレスをプローブします。その後、リストを動的にソートして、最初の IP アドレスの可用性が向上するようにします。

カスタム解決のためのグローバルパラメーターの設定

これらのグローバルパラメーターは、カスタム解決インターフェイスの追加パラメーター設定には影響しません。これらは、カスタム解決インターフェイスの追加パラメーターとマージされます。

setSdnsGlobalParams

インターフェイス定義

void setSdnsGlobalParams(Map<String, String> params)

クラス

HttpDnsService

導入バージョン

1.3.2

削除バージョン

2.4.0

代替インターフェイス

InitConfig.Builder setSdnsGlobalParams(Map params)

パラメーター

パラメーター

タイプ

必須

説明

params

Map<String, String>

はい

カスタム解決のためのグローバルパラメーター。各カスタム解決リクエストは、これらのグローバルパラメーターを伴います。