Skip to content

Commit 937f742

Browse files
authored
Merge pull request #2509 from DataDog/maciey/RUM-8673/mandatory-user-id
RUM-8673 Update UserInfo API to make id mandatory.
2 parents 24bdc2c + 53ea153 commit 937f742

File tree

3 files changed

+34
-2
lines changed

3 files changed

+34
-2
lines changed

dd-sdk-android-core/api/apiSurface

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ object com.datadog.android.Datadog
77
fun setVerbosity(Int)
88
fun getVerbosity(): Int
99
fun setTrackingConsent(com.datadog.android.privacy.TrackingConsent, com.datadog.android.api.SdkCore = getInstance())
10-
fun setUserInfo(String? = null, String? = null, String? = null, Map<String, Any?> = emptyMap(), com.datadog.android.api.SdkCore = getInstance())
10+
fun setUserInfo(String, String? = null, String? = null, Map<String, Any?> = emptyMap(), com.datadog.android.api.SdkCore = getInstance())
11+
DEPRECATED fun setUserInfo(String? = null, String? = null, String? = null, Map<String, Any?> = emptyMap(), com.datadog.android.api.SdkCore = getInstance())
1112
fun addUserProperties(Map<String, Any?>, com.datadog.android.api.SdkCore = getInstance())
1213
fun clearAllData(com.datadog.android.api.SdkCore = getInstance())
1314
fun _internalProxy(String? = null): _InternalProxy

dd-sdk-android-core/api/dd-sdk-android-core.api

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,19 @@ public final class com/datadog/android/Datadog {
3030
public static final fun setTrackingConsent (Lcom/datadog/android/privacy/TrackingConsent;)V
3131
public static final fun setTrackingConsent (Lcom/datadog/android/privacy/TrackingConsent;Lcom/datadog/android/api/SdkCore;)V
3232
public static synthetic fun setTrackingConsent$default (Lcom/datadog/android/privacy/TrackingConsent;Lcom/datadog/android/api/SdkCore;ILjava/lang/Object;)V
33-
public static final fun setUserInfo ()V
3433
public static final fun setUserInfo (Ljava/lang/String;)V
3534
public static final fun setUserInfo (Ljava/lang/String;Ljava/lang/String;)V
3635
public static final fun setUserInfo (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
3736
public static final fun setUserInfo (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
3837
public static final fun setUserInfo (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lcom/datadog/android/api/SdkCore;)V
3938
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
39+
public static final fun setUserInfoDeprecated ()V
40+
public static final fun setUserInfoDeprecated (Ljava/lang/String;)V
41+
public static final fun setUserInfoDeprecated (Ljava/lang/String;Ljava/lang/String;)V
42+
public static final fun setUserInfoDeprecated (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
43+
public static final fun setUserInfoDeprecated (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
44+
public static final fun setUserInfoDeprecated (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lcom/datadog/android/api/SdkCore;)V
45+
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
4046
public static final fun setVerbosity (I)V
4147
public static final fun stopInstance ()V
4248
public static final fun stopInstance (Ljava/lang/String;)V

dd-sdk-android-core/src/main/kotlin/com/datadog/android/Datadog.kt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,29 @@ object Datadog {
236236
sdkCore.setTrackingConsent(consent)
237237
}
238238

239+
/**
240+
* Sets the user information.
241+
*
242+
* @param id a unique user identifier (relevant to your business domain)
243+
* @param name (nullable) the user name or alias
244+
* @param email (nullable) the user email
245+
* @param extraInfo additional information. An extra information can be
246+
* nested up to 8 levels deep. Keys using more than 8 levels will be sanitized by SDK.
247+
* @param sdkCore SDK instance to set user info in. If not provided, default SDK instance
248+
* will be used.
249+
*/
250+
@JvmStatic
251+
@JvmOverloads
252+
fun setUserInfo(
253+
id: String,
254+
name: String? = null,
255+
email: String? = null,
256+
extraInfo: Map<String, Any?> = emptyMap(),
257+
sdkCore: SdkCore = getInstance()
258+
) {
259+
sdkCore.setUserInfo(id, name, email, extraInfo)
260+
}
261+
239262
/**
240263
* Sets the user information.
241264
*
@@ -249,6 +272,8 @@ object Datadog {
249272
*/
250273
@JvmStatic
251274
@JvmOverloads
275+
@Deprecated("UserInfo id property is now mandatory.")
276+
@JvmName("setUserInfoDeprecated")
252277
fun setUserInfo(
253278
id: String? = null,
254279
name: String? = null,

0 commit comments

Comments
 (0)