Identifying User

User attributes are specific traits of a user, like an email, username, mobile, gender, etc.
This is crucial and helps in targeting users based on these attributes across devices or installs.

Implementing Login / Logout Mechanism for a User

Setting Unique ID in order to Login User :

  • It's important to set the unique identifier when a user logs into your app. This is to unify the new user with an existing user, if any exists, and will help prevent creating unnecessary/stale users.
  • Setting the Unique ID is a critical piece to tie a user across devices and installs/uninstalls as well across all platforms (i.e. iOS, Android, Windows, The Web). Set the attribute as soon as the user is logged in. A unique Identifier can be something like an email ID, a username (unique), or a database ID or any Backend generated identifier which can be used to uniquely identify the user.
  • Do not set this for the user who not logged in.
MoEXamarin.Current.SetUniqueId();

Notifying the SDK when the user log's out of the app

MoEXamarin.Current.Logout();

Updating Unique Identifier

In a scenario where you have to update the Unique Identifier value for an already logged-in user use SetAlias()

MoEXamarin.Current.SetAlias();

❗️

Note

Please make sure that you use SetAlias() for updating the Unique Identifier and not SetUniqueId() as calling SetUniqueId() with a new value will reset the current user and lead to the creation of unintended users in our system.

Tracking User Attributes

To track user attributes line First Name, Last Name, email, phone number, etc use the below APIs

MoEXamarin.Current.SetFirstName();
MoEXamarin.Current.SetLastName();
MoEXamarin.Current.SetEmail();
MoEXamarin.Current.SetUniqueId();
MoEXamarin.Current.SetPhoneNumber();
MoEXamarin.Current.SetGender();

For setting other User Attributes you can use generic method SetUserAttribute(key,value)

MoEXamarin.Current.SetUserAttribute();

Tracking Date as user attributes:
To track any date as user attributes use the MoEXamarin.Current.SetUserAttributeISODate(). This API takes attribute name and ISO Date as input.
Date Format - yyyy-MM-dd'T'HH:mm:ss.fff'Z'
Example:

MoEXamarin.Current.SetUserAttributeISODate("userAttrDate", "2019-01-02T08:26:21.170Z");