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…").
Methods
| 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.
Example
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("[email protected]")
pulsateManager.updatePhoneNumber("+14085551234")
pulsateManager.updateGender(PulsateGender.MALE)
pulsateManager.updateAge("30")
pulsateManager.setPrivacy(PulsatePrivacy.SUBSCRIBE)
}
override fun onError(e: Throwable?) { }
},
)
Empty or null values are not sent to Pulsate — you can't blank out a field by sending
"".

