Proxy Your Mobile RUM Data
Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel,
n'hésitez pas à nous contacter.
Overview
The RUM Mobile SDKs can be configured to send requests through a proxy.
Proxies use OkHttpClient Proxy and Authenticator on Android and URLSessionConfiguration.connectionProxyDictionary on iOS.
HTTP/HTTPS proxy
Prerequisite proxy setup
To successfully forward a request to Datadog, your proxy must support HTTP CONNECT requests.
Recommended SDK setup
When initializing the Android SDK, specify the following proxy configuration:
val configBuilder = Configuration.Builder(
clientToken = "<client token>",
env = "<environment>"
)
val proxy = Proxy(Proxy.Type.HTTP, InetSocketAddress("<www.example.com>", <123>))
val authenticator = ProxyAuthenticator("<proxy user>", "<proxy password>")
configBuilder.setProxy(proxy, authenticator)
For more information, see the OkHttpClient Proxy and Authenticator documentation.
When initializing the iOS SDK, specify the following proxy configuration:
Swift
import DatadogCore
Datadog.initialize(
with: Datadog.Configuration(
clientToken: "<client token>",
env: "<environment>",
proxyConfiguration: [
kCFNetworkProxiesHTTPEnable: true,
kCFNetworkProxiesHTTPPort: <123>,
kCFNetworkProxiesHTTPProxy: "<www.example.com>",
kCFProxyUsernameKey: "<proxy user>",
kCFProxyPasswordKey: "<proxy password>"
]
),
trackingConsent: trackingConsent
)
Objective C
@import DatadogObjc;
DDConfiguration *configuration = [[DDConfiguration alloc] initWithClientToken:@"<client token>" env:@"<environment>"];
configuration.proxyConfiguration = @{
(NSString *)kCFNetworkProxiesHTTPEnable: @YES,
(NSString *)kCFNetworkProxiesHTTPPort: @<123>,
(NSString *)kCFNetworkProxiesHTTPProxy: @"<www.example.com>",
(NSString *)kCFProxyUsernameKey: @"<proxyuser>",
(NSString *)kCFProxyPasswordKey: @"<proxypass>"
};
[DDDatadog initializeWithConfiguration:configuration
trackingConsent:trackingConsent];
For more information, see the URLSessionConfiguration.connectionProxyDictionary documentation.
When initializing the React Native SDK, specify the following proxy configuration:
import { DatadogProviderConfiguration, ProxyConfiguration, ProxyType } from '@datadog/mobile-react-native';
const config = new DatadogProviderConfiguration('<client token>', '<environment>', '<application id>');
config.proxyConfig = new ProxyConfiguration(ProxyType.HTTPS, '<www.example.com>', <123>, '<proxy user>', '<proxy password>');
SOCKS proxy
Prerequisite proxy setup
To successfully forward a request to Datadog, your proxy must support SOCKS5 proxying.
Recommended SDK setup
When initializing the Android SDK, specify the following proxy configuration:
val configBuilder = Configuration.Builder(
clientToken = "<client token>",
env = "<environment>"
)
val proxy = Proxy(Proxy.Type.SOCKS, InetSocketAddress("<www.example.com>", <123>))
val authenticator = ProxyAuthenticator("<proxy user>", "<proxy password>")
configBuilder.setProxy(proxy, authenticator)
For more information, see the OkHttpClient Proxy and Authenticator documentation.
When initializing the iOS SDK, specify the following proxy configuration:
Swift
import DatadogCore
Datadog.initialize(
with: Datadog.Configuration(
clientToken: "<client token>",
env: "<environment>",
proxyConfiguration: [
kCFNetworkProxiesSOCKSEnable: true,
kCFNetworkProxiesSOCKSPort: <123>,
kCFNetworkProxiesSOCKSProxy: "<www.example.com>",
kCFProxyUsernameKey: "<proxy user>",
kCFProxyPasswordKey: "<proxy password>"
]
),
trackingConsent: trackingConsent
)
Objective C
@import DatadogObjc;
DDConfiguration *configuration = [[DDConfiguration alloc] initWithClientToken:@"<client token>" env:@"<environment>"];
configuration.proxyConfiguration = @{
(NSString *)kCFNetworkProxiesSOCKSEnable: @YES,
(NSString *)kCFNetworkProxiesSOCKSPort: @<123>,
(NSString *)kCFNetworkProxiesSOCKSProxy: @"<www.example.com>",
(NSString *)kCFProxyUsernameKey: @"<proxyuser>",
(NSString *)kCFProxyPasswordKey: @"<proxypass>"
};
[DDDatadog initializeWithConfiguration:configuration
trackingConsent:trackingConsent];
For more information, see the URLSessionConfiguration.connectionProxyDictionary documentation.
When initializing the React Native SDK, specify the following proxy configuration:
import { DatadogProviderConfiguration, ProxyConfiguration, ProxyType } from '@datadog/mobile-react-native';
const config = new DatadogProviderConfiguration('<client token>', '<environment>', '<application id>');
config.proxyConfig = new ProxyConfiguration(ProxyType.SOCKS, '<www.example.com>', <123>, '<proxy user>', '<proxy password>');
Further Reading
Documentation, liens et articles supplémentaires utiles: