Identity
A user starts anonymous — tracked by a device/session ID the SDK generates locally.
Calling identify(userId, attributes) associates a stable, integrator-supplied user ID with
that activity going forward; the user is now identified.
oneSygnal.identify('user_123', { plan: 'pro' });logout() vs reset()
These are two different operations, and web only has one of them:
logout()— clears the identified user, reverting to anonymous tracking. Available on every platform.reset()— mints a new anonymous ID and re-fetches surveys. Available on Android and iOS (and bridged on Flutter); absent on web, deferred rather than guessed — web has never distinguished “clear the identified user” from “mint a new anonymous ID,” and addingreset()there is a product decision, not an implementation gap.
If you’re porting logic from a native integration to web, don’t assume logout() does what
reset() does elsewhere — it doesn’t generate a new anonymous ID.
See Platform Parity for the full per-platform breakdown.