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…").

Methods

MethodNotes
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 "".