Skip to content

Commit

Permalink
Merge pull request #2509 from DataDog/maciey/RUM-8673/mandatory-user-id
Browse files Browse the repository at this point in the history
RUM-8673 Update UserInfo API to make id mandatory.
  • Loading branch information
maciejburda authored Mar 3, 2025
2 parents 24bdc2c + 53ea153 commit 937f742
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 2 deletions.
3 changes: 2 additions & 1 deletion dd-sdk-android-core/api/apiSurface
Original file line number Diff line number Diff line change
Expand Up @@ -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<String, Any?> = emptyMap(), com.datadog.android.api.SdkCore = getInstance())
fun setUserInfo(String, String? = null, String? = null, Map<String, Any?> = emptyMap(), com.datadog.android.api.SdkCore = getInstance())
DEPRECATED fun setUserInfo(String? = null, String? = null, String? = null, Map<String, Any?> = emptyMap(), com.datadog.android.api.SdkCore = getInstance())
fun addUserProperties(Map<String, Any?>, com.datadog.android.api.SdkCore = getInstance())
fun clearAllData(com.datadog.android.api.SdkCore = getInstance())
fun _internalProxy(String? = null): _InternalProxy
Expand Down
8 changes: 7 additions & 1 deletion dd-sdk-android-core/api/dd-sdk-android-core.api
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
25 changes: 25 additions & 0 deletions dd-sdk-android-core/src/main/kotlin/com/datadog/android/Datadog.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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<String, Any?> = emptyMap(),
sdkCore: SdkCore = getInstance()
) {
sdkCore.setUserInfo(id, name, email, extraInfo)
}

/**
* Sets the user information.
*
Expand All @@ -249,6 +272,8 @@ object Datadog {
*/
@JvmStatic
@JvmOverloads
@Deprecated("UserInfo id property is now mandatory.")
@JvmName("setUserInfoDeprecated")
fun setUserInfo(
id: String? = null,
name: String? = null,
Expand Down

0 comments on commit 937f742

Please sign in to comment.