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 notsetUserAttribute:
withUSER_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);
Updated over 5 years ago