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.
setUniqueId()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.setUniqueId(uniqueID);
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();
To clear out the existing user's data and his identity, call the logout 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)
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");
Please make sure that you use
setAlias:for updating the User Attribute Unique ID and not
USER_ATTRIBUTE_UNIQUE_IDattribute and a new value, as this will reset the current user and lead to the creation of unintended users in our system.
You can also set the default user attributes like mobile number, gender, user name, birthday, etc using the below APIs
var moe = MoECordova.init() moe.setUserName("abc"); moe.setFirstName("abc"); moe.setLastName("xyz"); moe.setEmail("[email protected]"); moe.setPhoneNumber(1234567890); moe.setGender("Male"); // OR Female // Format - ISO-8601 String moe.setBirthdate("1970-01-01T12:00:00Z");
Date attributes and Birthday in ISO-8601 format -
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.setUserAttributeISODateString("LastPurchaseDate", "1970-01-01T12:00:00Z");
Updated 4 months ago