プロキシの使用状況
開発者は、 SDK で実行されたすべての HTTP 接続にプロキシサーバを使用できます。
NetworkProxy クラス
NetworkProxy
クラスは、プロキシサーバーの設定に使用されます。 プロキシを使用するには、ホスト名、ポート番号、および資格情報 (必要な場合)を指定する必要があります。
プロキシを有効にするには、 2 つの方法があります。
-
MapEngine
初期化前 :ApplicationContext.setNetworkProxy(NetworkProxy);
-
MapEngine
初期化後 :MapEngine.getInstance().setNetworkProxy(NetworkProxy);
OkHttp
デフォルト Authenticator.setDefault(...)
では、 SDK のプロキシ認証はグローバル Java API を使用して実装されます。SDK HTTP 要求のみを認証する場合、または HTTP 要求に事前認証ヘッダーを含める必要がある場合(プリエンプティブ認証)は、非効率的です。 このような場合、開発者は SDK で OkHttp の使用を有効にできます。このライブラリ では、そのまますぐにネイティブに処理されます。
context.useOkHttpClient();
String hostname = "hostName";
// Can be any in range from 0 to 65535
int port = 3636;
Credentials credentials = new Credentials("username", "password");
NetworkProxy networkProxy = new NetworkProxy(hostname, port, credentials);
// OkHttp should be included as a dependency for the app (e.g. in the app/build.gradle file).
// OkHttp version 4.* is officially supported, although SDK should work with 3.* as well as with 5.* versions.
// Add the code below if you want to use proxy with OkHttp
context.useOkHttpClient();
// Choose one of the options above to enable proxy
// First option
context.setNetworkProxy(networkProxy);
// Second option
MapEngine.getInstance().setNetworkProxy(networkProxy);