Skip to content

Personal Data

Send names, contact details, and demographics to Pulsate to unlock personalization — first name is especially valuable for push, in-app, and inbox templates (“Hi John…”).

Method Notes
updateFirstName(String)
updateLastName(String)
updateEmail(String)
updatePhoneNumber(String) E.164 format: + country code + number, max 15 digits. US example: +1408XXXXXXX
updateGender(PulsateGender) PulsateGender.MALE or PulsateGender.FEMALE
updateAge(String) Age is passed as a string, e.g. "30"
setPrivacy(PulsatePrivacy) PulsatePrivacy.SUBSCRIBE / PulsatePrivacy.UNSUBSCRIBE — see Privacy

All of these (except setPrivacy, which is real-time) are cached locally and synced when the app enters the background. Call forceAttributeSync() to push them through immediately.

Send data once the session is active:

val pulsateManager = PulsateFactory.getInstance()
pulsateManager.startPulsateSessionForAlias(
"JohnSmithAlias",
object : IPulsateRequestListener {
override fun onSuccess() {
pulsateManager.updateFirstName("John")
pulsateManager.updateLastName("Smith")
pulsateManager.updateEmail("john.smith@example.com")
pulsateManager.updatePhoneNumber("+14085551234")
pulsateManager.updateGender(PulsateGender.MALE)
pulsateManager.updateAge("30")
pulsateManager.setPrivacy(PulsatePrivacy.SUBSCRIBE)
}
override fun onError(e: Throwable?) { }
},
)