Identify User

User Attributes are pieces of information you know about a user which could be demographics like age or gender, account-specific like plan, or even things like whether a user has seen a particular A/B test variation. Its Up to you!. It is basically a customer identity that you can reference across the customer’s whole lifetime.

Implementing Login/Logout

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

Login User

const ReactMoE = require('react-native-moengage')
ReactMoE.setUserUniqueID("[email protected]");
const ReactMoE = require('react-native-moengage')
ReactMoE.logout();

Updating User Attribute Unique ID

❗️

IMPORTANT

Please make sure that you use setAlias() for updating the User Attribute Unique ID and not setUserUniqueID() as calling setUserUniqueID() with a new value will reset the current user and lead to the creation of unintended users 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:

const ReactMoE = require('react-native-moengage')
ReactMoE.setAlias("[email protected]");

Tracking User Attributes

📘

Reserved Keywords

USER_ATTRIBUTE_UNIQUE_ID
USER_ATTRIBUTE_USER_EMAIL
USER_ATTRIBUTE_USER_MOBILE
USER_ATTRIBUTE_USER_NAME # incase you have full name
USER_ATTRIBUTE_USER_GENDER
USER_ATTRIBUTE_USER_FIRST_NAME # incase you have first and last name separately
USER_ATTRIBUTE_USER_LAST_NAME
USER_ATTRIBUTE_USER_BDAY
MOE_TIME_FORMAT
MOE_TIME_TIMEZONE
USER_ATTRIBUTE_NOTIFICATION_PREF
USER_ATTRIBUTE_OLD_ID
MOE_TIME_FORMAT
MOE_TIME_TIMEZONE
USER_ATTRIBUTE_DND_START_TIME
USER_ATTRIBUTE_DND_END_TIME
MOE_GAID
MOE_ISLAT
status

Use the following helper methods to set User attributes like Name, Email, Mobile, Gender, etc.

const ReactMoE = require('react-native-moengage')
    ReactMoE.setUserName("abc");
    ReactMoE.setUserFirstName("abc");
    ReactMoE.setUserLastName("xyz");
    ReactMoE.setUserEmailID("[email protected]");
    ReactMoE.setUserContactNumber(1234567890);
    ReactMoE.setUserGender("male");
    ReactMoE.setUserLocation(23.1, 21.2);

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

To set a custom user attribute locality as SF use the following code

const ReactMoE = require('react-native-moengage')
ReactMoE.setUserAttribute("locality", "SF");

What’s Next