Utiliser plusieurs instances du SDK Mobile
Présentation
Suivez ce guide pour utiliser plusieurs instances nommées du SDK. De nombreuses méthodes du SDK prennent éventuellement une instance du SDK comme argument. Si aucune instance n’est fournie, l’appel est associé à l’instance du SDK (sans nom) par défaut.
Remarque : le nom de l’instance du SDK doit être cohérent entre les exécutions de l’application, car les événements du SDK dépendent de ce nom.
val namedSdkInstance = Datadog.initialize("myInstance", context, configuration, trackingConsent)
val userInfo = UserInfo(...)
Datadog.setUserInfo(userInfo, sdkCore = namedSdkInstance)
Logs.enable(logsConfig, namedSdkInstance)
val logger = Logger.Builder(namedSdkInstance)
...
.build()
Trace.enable(traceConfig, namedSdkInstance)
val tracer = AndroidTracer.Builder(namedSdkInstance)
...
.build()
Rum.enable(rumConfig, namedSdkInstance)
GlobalRumMonitor.get(namedSdkInstance)
NdkCrashReports.enable(namedSdkInstance)
WebViewTracking.enable(webView, allowedHosts, namedSdkInstance)
Vous pouvez récupérer l’instance du SDK nommée en appelant Datadog.getInstance(<nom>)
et utiliser la méthode Datadog.isInitialized(<nom>)
pour vérifier cette instance spécifique du SDK est initialisée.
import DatadogCore
import DatadogRUM
import DatadogLogs
import DatadogTrace
let core = Datadog.initialize(
with: configuration,
trackingConsent: trackingConsent,
instanceName: "my-instance"
)
RUM.enable(
with: RUM.Configuration(applicationID: "<ID_APPLICATION_RUM>"),
in: core
)
Logs.enable(in: core)
Trace.enable(in: core)
Une fois que l’instance du SDK nommée est initialisée, vous pouvez la récupérer en appelant Datadog.sdkInstance(named: "<nom>")
et en l’utilisant tel qu’indiqué ci-dessous.
import DatadogCore
let core = Datadog.sdkInstance(named: "my-instance")
Logs
import DatadogLogs
let logger = Logger.create(in: core)
Trace
import DatadogRUM
let monitor = RUMMonitor.shared(in: core)
RUM
import DatadogRUM
let monitor = RUMMonitor.shared(in: core)
Pour aller plus loin
Documentation, liens et articles supplémentaires utiles: