User object

Prev Next

Initialize user object

Whenever you initialize Insider SDK, you also initialize a new Insider user object. You can set attributes for this object and get this object with getCurrentUser method.

Insider user object represents the current user of your app. It is the main object you can use for attribution (e.g. age, email, opt-in, etc.).

Method Signature

static getCurrentUser(): ?RNInsiderUser

Method Example

RNInsider.getCurrentUser();
Your title goes here
The values in the method examples are sample values. While implementing these methods, you need to replace them with your own unique variables. Otherwise, the methods will not function properly and might cause discrepancies in user unification.

Set email as user identifier

This method allows you to set the user identifier attribute of your Insider user object for data unification. With this attribute, you can unify your user data within Insider products and reach this user via different channels such as mobile app and web.

Method Signature

addEmail(email: string)

Method Example

let identifiers = new RNInsiderIdentifier();
identifiers.addEmail('sample@mail.com');
identifiers.addPhoneNumber('+1234567');
identifiers.addUserID('CRM-ID');
RNInsider.getCurrentUser().login(identifiers);
Your title goes here
All parameter types are required to be String.
Phone numbers are required to start with a + (plus) sign followed by a country code. The country code should start with a number between 1-9.

Set phone number as user identifier

This method allows you to set the user identifier attribute of your Insider user object for data unification. With this attribute, you can unify your user data within Insider products and reach this user via different channels such as mobile app and web.

your title goes here
The value of the PhoneNumber key must be in E164 format (e.g. +1234567).

Method Signature

addPhoneNumber(phoneNumber: string)

Method Example

let identifiers = new RNInsiderIdentifier();
identifiers.addEmail('mobile@useinsider.com');
identifiers.addPhoneNumber('+901234567');
identifiers.addUserID('CRM-ID');
RNInsider.getCurrentUser().login(identifiers);
Your title goes here
All parameter types are required to be String.
Phone numbers are required to start with a + (plus) sign followed by a country code. The country code should start with a number between 1-9.

Set user ID as user identifier

This method allows you to set the user identifier attribute of your Insider user object for data unification. With this attribute, you can unify your user data within Insider products and reach this user via different channels such as mobile app and web.

Method Signature

addUserID(userID: string)

Method Example

let identifiers = new RNInsiderIdentifier();
identifiers.addEmail('mobile@useinsider.com');
identifiers.addPhoneNumber('+901234567');
identifiers.addUserID('CRM-ID');
RNInsider.getCurrentUser().login(identifiers);
Your title goes here
All parameter types are required to be String.
Phone numbers are required to start with a + (plus) sign followed by a country code. The country code should start with a number between 1-9.

Set name attribute

This method allows you to set the name attribute for your Insider user object.

ParameterData Type
nameString

Method Signature

setName(value: string)

Method Example

RNInsider.getCurrentUser().setName('name');

Set surname attribute

This method allows you to set the surname attribute for your Insider user object.

ParameterData Type
surnameString

Method Signature

setSurname(value: string)

Method Example

RNInsider.getCurrentUser().setSurname('surname');

Set gender attribute

This method allows you to set the gender attribute for your Insider user object. You need to pass InsiderGender enum object as a parameter. 

ParameterEnum values

gender (InsiderGender enum) 

InsiderGenderMale
InsiderGenderFemale
InsiderGenderOther

Method Signature

setGender(value: number)

Method Example

// InsiderGenderMale
// InsiderGenderFemale
// InsiderGenderOther
RNInsider.getCurrentUser().setGender(InsiderGender.other);

Set age attribute

This method allows you to set the age attribute for your Insider user object.

ParameterData Type

age

Integer

Method Signature

setAge(value: number)

Method Example

RNInsider.getCurrentUser().setAge(23);

Set birthday attribute

This method allows you to set the birthday attribute for your Insider user object.

Your title goes here
Data should be set in (YYYY-MM-DD) format.
ParameterData Type
birthdayDate

Method Signature

setBirthday(value: Date)

Method Example

RNInsider.getCurrentUser().setBirthday(new Date());

Select language attribute

This method allows you to set the language attribute for your Insider user object.

ParameterData Type
languageString

Method Signature

setLanguage(value: string)

Method Example

RNInsider.getCurrentUser().setLanguage('language');

Set email opt-in attribute

This method allows you to set the email opt-in (permission) attribute for your Insider user object.

ParameterData Type
emailOptinBoolean

Method Signature

setEmailOptin(value: boolean)

Method Example

RNInsider.getCurrentUser().setEmailOptin(true);

Set SMS opt-in attribute

This method allows you to set the SMS opt-in (permission) attribute for your Insider user object.

ParameterData Type
smsOptinBoolean

Method Signature

setSMSOptin(value: boolean)

Method Example

RNInsider.getCurrentUser().setSMSOptin(true);

Set Whatsapp opt-in attribute

This method allows you to set the WhatsApp opt-in (permission) attribute for your Insider user object.

ParameterData Type
whatsAppOptinBoolean

Method Signature

setWhatsappOptin(value: boolean)

Method Example

RNInsider.getCurrentUser().setWhatsappOptin(true);

Set push opt-in attribute

This method allows you to set the push opt-in (permission) attribute for your Insider user object.

your title goes here
If you pass the value as false, the respective device will not receive any push notifications unless you set the value to true.
ParameterData Type
pushOptinBoolean

Method Signature

setPushOptin(value: boolean)

Method Example

RNInsider.getCurrentUser().setPushOptin(true);

Set location opt-in attribute

This method allows you to set the location opt-in (permission) attribute for your Insider user object.

your title goes here
If you pass the value as false, the respective device will not be targeted for Geofence unless you set the value to true.
ParameterData Type
locationOptinBoolean

Method Signature

setLocationOptin(value: boolean)

Method Example

RNInsider.getCurrentUser().setLocationOptin(true);

Set login attribute

This method allows you to set the login status attribute for your Insider user object.

your title goes here
Once you call this method to assign its value as true, you need to call the logout method to set it to false

Method Signature

login(identifiers: RNInsiderIdentifier)

Method Example

let identifiers = new RNInsiderIdentifier();
identifiers.addEmail('sample@mail.com');
identifiers.addPhoneNumber('+1234567');
identifiers.addUserID('CRM-ID');
RNInsider.getCurrentUser().login(identifiers);

Set logout attribute

This method allows you to set the login status attribute for your Insider user object.

your title goes here
Once you call assign false for the value for login status, you need to call the login method to set it to true.

Method Signature

logout()

Method Example

RNInsider.getCurrentUser().logout();

Set signup event

To trigger action for the signup of users, you need to call this method whenever a user signs up to the app.

Method Signature

static signUpConfirmation()

Method Example

RNInsider.signUpConfirmation()

Set locale attribute

This method allows you to set the locale attribute for your Insider user object.

ParameterData Type
localeString

Method Signature

setLocale(value: string)

Method Example

RNInsider.getCurrentUser().setLocale('en_EN');

Set custom string attribute

This method allows you to set the custom string attribute for your Insider user object.

your title goes here
Your attribute key should be lowercase and should not include any special character, non-Latin character, or any space. Otherwise, this attribute will be ignored. You can use underscores.
ParameterData Type
keyString
valueString

Method Signature

setCustomAttributeWithString(key: string, value: string)

Method Example

RNInsider.getCurrentUser().setCustomAttributeWithString('key', 'value');

Set custom integer attribute

This method allows you to set the custom integer attribute for your Insider user object.

your title goes here
Your attribute key should be lowercase and should not include any special character, non-Latin character, or any space. Otherwise, this attribute will be ignored. You can use underscores.
ParameterData Type
keyString
valueInteger

Method Signature

setCustomAttributeWithInt(key: string, value: number)

Method Example

RNInsider.getCurrentUser().setCustomAttributeWithInt('key', 10);

Set custom boolean attribute

This method allows you to set the custom boolean attribute for your Insider user object.

your title goes here
Your attribute key should be lowercase and should not include any special character, non-Latin character, or any space. Otherwise, this attribute will be ignored. You can use underscores.
ParameterData Type
keyString
valueBoolean

Method Signature

setCustomAttributeWithBoolean(key: string, value: boolean)

Method Example

RNInsider.getCurrentUser().setCustomAttributeWithBoolean('key', true);

Set custom double attribute

This method allows you to set the custom double attribute for your Insider user object.

your title goes here
Your attribute key should be lowercase and should not include any special character, non-Latin character, or any space. Otherwise, this attribute will be ignored. You can use underscores.
ParameterData Type
keyString
valueDouble

Method Signature

setCustomAttributeWithDouble(key: string, value: number)

Method Example

RNInsider.getCurrentUser().setCustomAttributeWithDouble('key', 10.5);

Set custom date attribute

This method allows you to set the custom date attribute for your Insider user object.

your title goes here
Your attribute key should be lowercase and should not include any special character, non-Latin character, or any space. Otherwise, this attribute will be ignored. You can use underscores.
ParameterData Type
keyString
valueDate object

Method Signature

setCustomAttributeWithDate(key: string, value: Date)

Method Example

RNInsider.getCurrentUser().setCustomAttributeWithDate('key', new Date());

Set custom array attribute

This method allows you to set the custom array attribute for your Insider user object.

your title goes here
Your attribute key should be lowercase and should not include any special character, non-Latin character, or any space. Otherwise, this attribute will be ignored. You can use underscores.
ParameterData Type
keyString
valueArray (of string)

Method Signature

setCustomAttributeWithArray(key: string, value: string[])

Method Example

var arr = ['value1', 'value2', 'value3'];
RNInsider.getCurrentUser().setCustomAttributeWithArray('key', arr);

Unset custom attribute

This method allows you to unset any custom attribute of your Insider user object. This method will remove the respective custom attribute of your user for the given key permanently.

your title goes here
Your attribute key should be lowercase and should not include any special character, non-Latin character, or any space. Otherwise, this attribute will be ignored. You can use underscores.
ParameterData Type
keyString

Method Signature

unsetCustomAttribute(key: string)

Method Example

RNInsider.getCurrentUser().unsetCustomAttribute('key');

For troubleshooting, refer to Why cannot we trigger the login method a second time in an active sessionConfusion of attributes among users after login