The Flutter SDK is a thin Dart facade over the native plugins, so lifecycle rules still matter.

Configure with one key or platform keys

You can pass either:
  • a single String key
  • AppActorPlatformKeys when iOS and Android use separate public keys

Identity methods

  • logIn(appUserId)
  • logOut()
  • getAppUserId()
  • getIsAnonymous()
  • reset()
  • sdkVersion()
If your app starts as guest and later logs in, prefer logIn(...) over trying to rebuild purchase state yourself.

Platform-specific startup hooks

  • call enableSearchAdsTracking() before configure() on iOS
  • call enableInstallReferrer() after configure() on Android

Hot restart note

The native SDK survives Flutter hot restart. configure() re-registers the platform handler so streams keep flowing again after the Dart VM restarts. That is helpful during development, but it also means native purchase state is not automatically wiped just because the Dart side restarted.