Privacy (Subscribe / Unsubscribe)

setPrivacy is the master opt-out for a user: unsubscribed users receive no campaigns or messages from Pulsate at all — no push, no in-app, no feed campaigns.

Note the difference from the channel-specific switches:

SwitchScope
setPrivacy(UNSUBSCRIBE)All Pulsate communication
setPushNotificationEnabled(false)Pushes only
setInAppNotificationEnabled(false)In-apps only

Setting privacy

val pulsateManager = PulsateFactory.getInstance()

pulsateManager.setPrivacy(PulsatePrivacy.SUBSCRIBE)    // opt in (default)
pulsateManager.setPrivacy(PulsatePrivacy.UNSUBSCRIBE)  // opt out of everything

Unlike other user-data calls, privacy syncs to Pulsate in real time.

Reading the current value

Callback style:

pulsateManager.getPrivacy(object : IPulsateValueListener<PulsatePrivacy> {
    override fun onSuccess(value: PulsatePrivacy) { /* SUBSCRIBE or UNSUBSCRIBE */ }
    override fun onError(e: Throwable) { }
})

What still happens for unsubscribed users

Unsubscribed users are still tracked and segmented — geofence enters/exits are recorded and segment data keeps updating. They simply receive nothing. To stop location tracking too, see Location Updates; to detach the device entirely, use logoutCurrentAlias.