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.
using MoEngage;

MoEngageClient.SetUniqueId();

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

using MoEngage;

MoEngageClient.Logout();

Updating Unique Identifier

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

using MoEngage;

MoEngageClient.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

using MoEngage;

MoEngageClient.SetFirstName();
MoEngageClient.SetLastName();
MoEngageClient.SetEmail();
MoEngageClient.SetUniqueId();
MoEngageClient.SetPhoneNumber();
MoEngageClient.SetGender();

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

using MoEngage;

MoEngageClient.SetUserAttribute();

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

using MoEngage;

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