FAQ
How often will a user see a survey?
At most once per maxPerUserDays days (per user, per survey) — set it to 0 for
unlimited. On top of that, warmupCount and fireEvery control which satisfied
occurrence of the trigger fires. See Concepts.
Does it work offline?
Yes. The SDK caches config to disk and evaluates all eligibility on-device, so it can present surveys with no network. Impressions and responses queue in a disk outbox and flush on the next launch or foreground.
How fresh is the config?
The SDK refreshes on app start and on foreground, throttled to at most once every
12 hours, using an ETag so an unchanged config is a cheap 304. Publishing a
survey reaches devices on their next refresh.
How is a user identified?
endUserId resolves as analytics userId → deviceId → host setUser(id:) → a
generated, persisted anonymous id. Audience targeting reads user properties from
the analytics identity snapshot, or from setUser(properties:).
Will the plugin affect my analytics?
No. The Amplitude plugin is an enrichment plugin that returns every event unmodified — it observes, it never drops or alters your data.
Can I restyle surveys without an app release?
Yes — that’s the point. Appearance is a project-level theme configured in the dashboard and delivered in the config; the SDK applies it automatically. See Appearance.
Which platforms are supported?
iOS today. Android, React Native, and Web are on the roadmap but not yet available.
What data does a response include?
The answers, a completion flag, a timestamp, and a snapshot of the user properties at submission time. See the responses shape.