Skip to Content
PlatformsFlutterConfiguration

Configuration

API key

Set via setApiKey(), called before initialize():

await OneSygnal().setApiKey('YOUR_API_KEY'); await OneSygnal().initialize();

This overrides the API key the natives would otherwise read from AndroidManifest.xml/Info.plist config. On Android/iOS as native platforms, setApiKey() is an override of the manifest/plist value; on Flutter it’s the primary mechanism — there’s no manifest/plist entry to fall back to, so setApiKey() is effectively required. (Contrast with web, which takes the key directly as init()’s first argument, and has no separate override method — see the Web SDK’s configuration page.)

initialize() itself takes no arguments — there’s no options object. Everything that would be an “init option” on another platform is its own method call, made before initialize():

CallTypeNotes
setApiKey(String apiKey)Future<void>Must be called before initialize().
setLocale(String locale)Future<void>Optional — defaults to the device’s locale if never called. Live-reactive: calling it after initialize() immediately triggers a fresh config/surveys fetch under the new locale, no restart needed.

There is no Flutter-level equivalent of web’s apiUrl option — the natives default to https://sdk-api.1sygnal.app internally, and nothing in the Dart API exposes a way to override that from this package.

reset(), setApiKey(), setLocale() — all bridged

Unlike web (which has none of these three — see the Web SDK’s configuration page), all three are bridged on Flutter, because both natives implement them and the bridge just forwards:

  • setApiKey(String apiKey) — see above.
  • setLocale(String locale) — see above; live-reactive both natively and through the bridge.
  • reset()Future<void>. Fully resets local device/user state (mints a new anonymous ID) and re-fetches surveys. Resolves once the native reset has actually finished, not just once the call was dispatched.

Other pre/post-init calls

  • setSurveysEnabled(bool enabled)Future<void>. Globally suppresses (or re-enables) survey overlays without affecting event tracking.
  • areSurveysEnabled()Future<bool>. Reads back the flag above.

See API Reference for the complete signature list and Platform Parity for how every operation compares across web, Android, iOS, and the Flutter bridge.