diff --git a/dd-sdk-android-core/api/apiSurface b/dd-sdk-android-core/api/apiSurface index dac831bd3e..d7c2b3d01a 100644 --- a/dd-sdk-android-core/api/apiSurface +++ b/dd-sdk-android-core/api/apiSurface @@ -7,7 +7,8 @@ object com.datadog.android.Datadog fun setVerbosity(Int) fun getVerbosity(): Int fun setTrackingConsent(com.datadog.android.privacy.TrackingConsent, com.datadog.android.api.SdkCore = getInstance()) - fun setUserInfo(String? = null, String? = null, String? = null, Map = emptyMap(), com.datadog.android.api.SdkCore = getInstance()) + fun setUserInfo(String, String? = null, String? = null, Map = emptyMap(), com.datadog.android.api.SdkCore = getInstance()) + DEPRECATED fun setUserInfo(String? = null, String? = null, String? = null, Map = emptyMap(), com.datadog.android.api.SdkCore = getInstance()) fun addUserProperties(Map, com.datadog.android.api.SdkCore = getInstance()) fun clearAllData(com.datadog.android.api.SdkCore = getInstance()) fun _internalProxy(String? = null): _InternalProxy diff --git a/dd-sdk-android-core/api/dd-sdk-android-core.api b/dd-sdk-android-core/api/dd-sdk-android-core.api index 3ca9d8c4d6..fc5ea69f06 100644 --- a/dd-sdk-android-core/api/dd-sdk-android-core.api +++ b/dd-sdk-android-core/api/dd-sdk-android-core.api @@ -30,13 +30,19 @@ public final class com/datadog/android/Datadog { public static final fun setTrackingConsent (Lcom/datadog/android/privacy/TrackingConsent;)V public static final fun setTrackingConsent (Lcom/datadog/android/privacy/TrackingConsent;Lcom/datadog/android/api/SdkCore;)V public static synthetic fun setTrackingConsent$default (Lcom/datadog/android/privacy/TrackingConsent;Lcom/datadog/android/api/SdkCore;ILjava/lang/Object;)V - public static final fun setUserInfo ()V public static final fun setUserInfo (Ljava/lang/String;)V public static final fun setUserInfo (Ljava/lang/String;Ljava/lang/String;)V public static final fun setUserInfo (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V public static final fun setUserInfo (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V public static final fun setUserInfo (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lcom/datadog/android/api/SdkCore;)V public static synthetic fun setUserInfo$default (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lcom/datadog/android/api/SdkCore;ILjava/lang/Object;)V + public static final fun setUserInfoDeprecated ()V + public static final fun setUserInfoDeprecated (Ljava/lang/String;)V + public static final fun setUserInfoDeprecated (Ljava/lang/String;Ljava/lang/String;)V + public static final fun setUserInfoDeprecated (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public static final fun setUserInfoDeprecated (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V + public static final fun setUserInfoDeprecated (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lcom/datadog/android/api/SdkCore;)V + public static synthetic fun setUserInfoDeprecated$default (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lcom/datadog/android/api/SdkCore;ILjava/lang/Object;)V public static final fun setVerbosity (I)V public static final fun stopInstance ()V public static final fun stopInstance (Ljava/lang/String;)V diff --git a/dd-sdk-android-core/src/main/kotlin/com/datadog/android/Datadog.kt b/dd-sdk-android-core/src/main/kotlin/com/datadog/android/Datadog.kt index 31218e70cb..fc2845fa68 100644 --- a/dd-sdk-android-core/src/main/kotlin/com/datadog/android/Datadog.kt +++ b/dd-sdk-android-core/src/main/kotlin/com/datadog/android/Datadog.kt @@ -236,6 +236,29 @@ object Datadog { sdkCore.setTrackingConsent(consent) } + /** + * Sets the user information. + * + * @param id a unique user identifier (relevant to your business domain) + * @param name (nullable) the user name or alias + * @param email (nullable) the user email + * @param extraInfo additional information. An extra information can be + * nested up to 8 levels deep. Keys using more than 8 levels will be sanitized by SDK. + * @param sdkCore SDK instance to set user info in. If not provided, default SDK instance + * will be used. + */ + @JvmStatic + @JvmOverloads + fun setUserInfo( + id: String, + name: String? = null, + email: String? = null, + extraInfo: Map = emptyMap(), + sdkCore: SdkCore = getInstance() + ) { + sdkCore.setUserInfo(id, name, email, extraInfo) + } + /** * Sets the user information. * @@ -249,6 +272,11 @@ object Datadog { */ @JvmStatic @JvmOverloads + @Deprecated( + "UserInfo id property is now mandatory.", + ReplaceWith("setUserInfo(id!!, name, email, extraInfo, sdkCore)") + ) + @JvmName("setUserInfoDeprecated") fun setUserInfo( id: String? = null, name: String? = null,