Identifying User

User attributes are specific traits of a user, like 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 :

🚧

IMPORTANT:

Setting USER_ATTRIBUTE_UNIQUE_ID is mandatory to tie a user across devices, installs/uninstalls and across different platforms.

  • It's important to set the User Attribute Unique ID when a user logs into your app.
  • This is to merge the new user with existing user, if any exists, and will help prevent creating of 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 USER_ATTRIBUTE_UNIQUE_ID attribute as soon as the user is logged in. Unique ID can be something like an email ID, a username (unique), or a database ID or any Backend generated ID.
  • Do not set this for the user who not logged in.
var moe = new MoECordova.init();
moe.setUserAttribute("USER_ATTRIBUTE_UNIQUE_ID", uniqueID);

Reset or Logout User :

Consider the scenario when a user logs out of their account. They might login from a new account, as a new user. Here you need to call logout from MoEngage.

var moe = new MoECordova.init();
moe.logout();

🚧

IMPORTANT:

To clear out the existing user's data and his identity, call the resetUser method. This will clear the data for the current user and create a new one, when you re-login as explained in above log-in scenario your user will be merged (if already exist in our system)

Updating User Attribute Unique ID:

In a scenario where you have to update the User Attribute Unique ID value for a logged in user use setAlias: method as shown below:

var moe = new MoECordova.init();
moe.setAlias("updatedUniqueID");

❗️

IMPORTANT:

Please make sure that you use setAlias: for updating the User Attribute Unique ID and not setUserAttribute: with USER_ATTRIBUTE_UNIQUE_ID attribute and a new value, as this will reset the current user and lead to the creation of unintended users in our system.

SDK User Attributes Keys :

You can also set the default user attributes like mobile number, gender, user name, brithday. Birthday has to be in the format - “dd/mm/yyyy”

List of default user attributes keys :

  • "USER_ATTRIBUTE_UNIQUE_ID"
  • "USER_ATTRIBUTE_USER_EMAIL"
  • "USER_ATTRIBUTE_USER_MOBILE"
  • "USER_ATTRIBUTE_USER_NAME"
  • "USER_ATTRIBUTE_USER_GENDER"
  • "USER_ATTRIBUTE_USER_FIRST_NAME"
  • "USER_ATTRIBUTE_USER_LAST_NAME"
  • "USER_ATTRIBUTE_USER_BDAY"
  • "USER_ATTRIBUTE_USER_LOCATION"
    You can use following method set the location user attribute :
var moe = new MoECordova.init();
moe.setUserAttributeLocation("attribute", 25.23, 73.23);

You can use following method set the timestamp user attribute :

var moe = new MoECordova.init();
moe.setUserAttributeTimestamp("LastPurchaseDate", 1470652259);

What’s Next