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

HTTPDNS:カスタム名前解決 API

最終更新日:Oct 10, 2025

はじめに

このドキュメントで説明する API は、カスタム名前解決関数 で使用するためのものです。基本的な名前解決シナリオが要件を満たさない場合は、これらの API を使用してください。

各カスタムドメイン名の名前解決リクエストに必要な共通パラメーターを構成する必要があります。詳細については、「カスタム名前解決のためのグローバルパラメーターの設定」をご参照ください。

カスタム同期名前解決 API

カスタム同期名前解決 API を使用してドメイン名を解決すると、有効な名前解決結果が返されるまで現在のスレッドはブロックされます。

この API は、まず `cacheKey` を使用してキャッシュをクエリします。アクティブな名前解決結果がキャッシュに存在する場合、API はキャッシュされた結果を直ちに返します。アクティブな結果が見つからない場合、API は呼び出し元のスレッドをブロックし、ワーカースレッドでドメイン名の名前解決を実行します。名前解決が完了すると、結果が返されます。リクエストがタイムアウトした場合、null 値が返されます。

重要

同期名前解決操作の全体の期間は、タイムアウト構成 によって制御されます。タイムアウト期間内に名前解決が失敗した場合、空の名前解決結果が直ちに返されます。

getHttpDnsResultForHostSync

API 定義

HTTPDNSResult getHttpDnsResultForHostSync(String host, RequestIpType requestIpType, Map<String, String> params, String cacheKey)

導入バージョン

2.4.0

クラス

HttpDnsService

パラメーター

パラメーター

タイプ

必須

説明

host

String

はい

解決するドメイン名。

requestIpType

RequestIpType

はい

解決する IP アドレスのタイプ。これを RequestIpType.both に設定することをお勧めします。

これは列挙型です。解決する IP アドレスのタイプを指定します。

  • v4: IPv4 アドレスに解決します。

  • v6: IPv6 アドレスに解決します。

  • both: IPv4 と IPv6 の両方のアドレスに解決します。

  • auto: ソフトウェア開発キット (SDK) は、デバイスの現在のネットワークスタックに基づいてアドレスタイプを決定します。デフォルトでは、ドメイン名は IPv4 アドレスに解決されます。現在のネットワークスタックが IPv6 をサポートしている場合、SDK はドメイン名を IPv6 アドレスに解決することも試みます。

params

Map<String, String>

はい

ドメイン名の名前解決のための追加パラメーター。これは、サーバー上のカスタム名前解決関数における event.parameters パラメーターに対応します。

cacheKey

String

はい

ドメイン名のローカルキャッシュキー。追加のパラメーターが変更され、サーバーがドメイン名を再度解決する必要がある場合は、cacheKey も変更する必要があります。

戻り値

タイプ

説明

HTTPDNSResult

名前解決の結果。

サンプルコード

val httpdns = HttpDns.getService(accountID)
val httpDnsResult = dnsService?.getHttpDnsResultForHostSync(host, RequestIpType.auto, params, cacheKey)
HttpDnsService httpdns = HttpDns.getService(accountID);
HTTPDNSResult httpDnsResult = httpdns.getHttpDnsResultForHostSync(host, RequestIpType.auto, params, cacheKey);

カスタム非同期名前解決 API

カスタム非同期名前解決 API を使用してドメイン名を解決する場合、現在のスレッドはブロックされません。名前解決の結果はコールバックを介して返されます。

この API は、まずキャッシュをクエリします。アクティブな名前解決結果がキャッシュに存在する場合、API はキャッシュされた結果をコールバックを介して直ちに返します。アクティブな結果が見つからない場合、API はワーカースレッドでドメイン名の名前解決を実行します。名前解決が完了するか、リクエストがタイムアウトすると、結果はコールバックを介して返されます。

重要

同期解析インターフェイスの場合、合計解析時間は タイムアウト構成 によって制御されます。構成されたタイムアウト期間内に解析が完了しない場合、インターフェイスは直ちに空の結果を返します。

getHttpDnsResultForHostAsync

API 定義

void getHttpDnsResultForHostAsync(String host, RequestIpType requestIpType, Map<String, String> params, String cacheKey, HttpDnsCallback callback)

導入バージョン

2.4.0

クラス

HttpDnsService

パラメーター

パラメーター

タイプ

必須

説明

host

String

はい

解決するドメイン名。

requestIpType

RequestIpType

はい

解決する IP アドレスのタイプ。これを RequestIpType.both に設定することをお勧めします。

これは列挙型です。解決する IP アドレスのタイプを指定します。

  • v4: IPv4 アドレスに解決します。

  • v6: IPv6 アドレスに解決します。

  • both: IPv4 と IPv6 の両方のアドレスに解決します。

  • auto: SDK は、デバイスの現在のネットワークスタックに基づいてアドレスタイプを決定します。デフォルトでは、ドメイン名は IPv4 アドレスに解決されます。現在のネットワークスタックが IPv6 をサポートしている場合、SDK はドメイン名を IPv6 アドレスに解決することも試みます。

params

Map<String, String>

はい

ドメイン名の名前解決のための追加パラメーター。これは、サーバー上のカスタム名前解決関数における event.parameters パラメーターに対応します。

cacheKey

String

はい

ドメイン名のローカルキャッシュキー。追加のパラメーターが変更され、サーバーがドメイン名を再度解決する必要がある場合は、cacheKey も変更する必要があります。

callback

HttpDnsCallback

はい

名前解決結果のコールバッククラス。

サンプルコード

val httpdns = HttpDns.getService(accountID)
dnsService?.getHttpDnsResultForHostAsync(host, RequestIpType.auto, params, cacheKey, HttpDnsCallback {
    httpDnsResult = it
})
HttpDnsService httpdns = HttpDns.getService(accountID);
httpdns.getHttpDnsResultForHostAsync(host, RequestIpType.auto, params, cacheKey, new HttpDnsCallback() {
  void onHttpDnsCompleted(HTTPDNSResult result) {
  }      
});

カスタム同期非ブロッキング名前解決 API

カスタム同期非ブロッキング名前解決 API を使用してドメイン名を解決する場合、現在のスレッドはブロックされませんが、空の結果が返されることがあります。

この API はキャッシュのみをクエリし、キャッシュから名前解決結果を返します。キャッシュに名前解決結果が存在しないか、キャッシュされた結果の有効期限が切れている場合、ドメイン名の名前解決はワーカースレッドで実行されます。名前解決が成功すると、次回の呼び出しのためにキャッシュが更新されます。

getHttpDnsResultForHostSyncNonBlocking

API 定義

HTTPDNSResult getHttpDnsResultForHostSyncNonBlocking(String host, RequestIpType requestIpType, Map<String, String> params, String cacheKey)

導入バージョン

2.4.0

クラス

HttpDnsService

パラメーター

パラメーター

タイプ

必須

説明

host

String

はい

解決するドメイン名。

requestIpType

RequestIpType

はい

解決する IP アドレスのタイプ。これを RequestIpType.both に設定することをお勧めします。

これは列挙型です。解決する IP アドレスのタイプを指定します。

  • v4: IPv4 アドレスに解決します。

  • v6: IPv6 アドレスに解決します。

  • both: IPv4 と IPv6 の両方のアドレスに解決します。

  • auto: SDK は、デバイスの現在のネットワークスタックに基づいてアドレスタイプを決定します。デフォルトでは、ドメイン名は IPv4 アドレスに解決されます。現在のネットワークスタックが IPv6 をサポートしている場合、SDK はドメイン名を IPv6 アドレスに解決することも試みます。

params

Map<String, String>

はい

ドメイン名の名前解決のための追加パラメーター。これは、サーバー上のカスタム名前解決関数における event.parameters パラメーターに対応します。

cacheKey

String

はい

ドメイン名のローカルキャッシュキー。追加のパラメーターが変更され、サーバーがドメイン名を再度解決する必要がある場合は、cacheKey も変更する必要があります。

戻り値

タイプ

説明

HTTPDNSResult

名前解決の結果。

サンプルコード

val httpdns = HttpDns.getService(accountID)
val httpDnsResult = dnsService?.getHttpDnsResultForHostSyncNonBlocking(host, RequestIpType.auto, params, cacheKey)
HttpDnsService httpdns = HttpDns.getService(accountID);
HTTPDNSResult httpDnsResult = httpdns.getHttpDnsResultForHostSyncNonBlocking(host, RequestIpType.auto, params, cacheKey);