Skip to main content
The SDK emits 10 lifecycle events via a small pub/sub bus. Subscribe with MicroSurvey.on(event, listener); the call returns an unsubscribe function.
Events are identified by the InsitoEvent enum and every listener receives an InsitoEventPayload. Only the fields relevant to the fired event are populated; the rest are null.

Event matrix

InsitoEventPayload

When events fire

Common patterns

Fan out to your own analytics

Surface errors in development

Show a thank-you snackbar

Differentiate online vs queued

Memory model

Listeners are held by reference. The bus doesn’t weak-ref them; if you don’t call the returned unsubscribe function, the listener (and anything it closes over) lives for the lifetime of the app. If you subscribe from a StatefulWidget, store the unsubscribe callbacks and call them in dispose().
Listener errors are swallowed inside the bus, so a misbehaving handler can never crash the SDK — but it also means exceptions won’t surface. Log inside your listener if you need visibility.