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.
import 'package:moengage_flutter/moengage_flutter.dart';
final MoEngageFlutter _moengagePlugin = MoEngageFlutter();
_moengagePlugin.setUniqueId();
Notifying the user when the user log's out of the app
import 'package:moengage_flutter/moengage_flutter.dart';
final MoEngageFlutter _moengagePlugin = MoEngageFlutter();
_moengagePlugin.logout();
Updating Unique Identifier
In a scenario where you have to update the Unique Identifier value for an already logged-in user use setAlias()
import 'package:moengage_flutter/moengage_flutter.dart';
final MoEngageFlutter _moengagePlugin = MoEngageFlutter();
_moengagePlugin.setAlias();
Note
Please make sure that you use
setAlias()
for updating the Unique Identifier and notsetUniqueId()
as callingsetUniqueId()
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
setUserName()
setFirstName()
setLastName()
setEmail()
setPhoneNumber()
setGender()
setLocation()
setUserLocation()
// date format - ` yyyy-MM-dd'T'HH:mm:ss.fff'Z'`
setBirthDate()
For setting other User Attributes you can use generic method setUserAttribute(key,value)
import 'package:moengage_flutter/moengage_flutter.dart';
final MoEngageFlutter _moengagePlugin = MoEngageFlutter();
_moengagePlugin.setUserAttribute(key, value);
Tracking Date as user attributes:
To track any date as user attributes use the setIsoDate()
. This API takes attribute name and ISO Date as input.
Date Format - yyyy-MM-dd'T'HH:mm:ss.fff'Z'
Example:
import 'package:moengage_flutter/moengage_flutter.dart';
final MoEngageFlutter _moengagePlugin = MoEngageFlutter();
_moengagePlugin.setIsoDate("timeStamp", "2019-12-02T08:26:21.170Z")
Updated almost 6 years ago