Skip to content

Releases: grovs-io/grovs-flutter

3.1.0: Scene lifecycle links, Swift Package Manager, and handleUrl

Choose a tag to compare

@chelemen-razvan chelemen-razvan released this 12 Oct 15:15

3.1.0

Requires Flutter 3.38.0 or later.

Added

  • iOS: Swift Package Manager support. CocoaPods still works.
  • handleUrl(url) resolves a Grovs link tapped inside your app. Before, these links opened in a browser.

Fixed

  • iOS: in apps using the UIScene lifecycle, a link that opened the app from a closed state was lost. This includes new Flutter apps and apps Flutter migrated automatically.
  • iOS: the privacy manifest is now included in CocoaPods builds.

Changed

  • iOS: the plugin no longer claims incoming links, the same as on Android. Other plugins, such as login callbacks, always receive their links.

Action required

  • Turn off Flutter's built-in deep linking, otherwise it also opens Grovs links:
  • iOS Info.plist: FlutterDeepLinkingEnabled = false
  • Android manifest (main activity):
  • If you added your own SceneDelegate code that forwards links to Grovs, remove it, or links will be delivered twice.

Grovs Flutter SDK 3.0.0 aligns the plugin with the native Grovs 3.0 SDKs and adds analytics, consent controls, and clipboard deferred deep linking

Choose a tag to compare

@chelemen-razvan chelemen-razvan released this 14 Sep 14:29

New features

  • Custom events with track().
  • Manual screen views with trackScreenView() and automatic screen tracking through Grovs.navigatorObserver.
  • Global tags and screen aliases.
  • Runtime consent controls through setSDK(bool), with platform settings to start disabled.
  • Clipboard deferred deep linking, configurable domains, and per-link clipboard options.
  • An onError stream for authentication, network, event delivery, and link generation errors on iOS.

Fixes

  • logCustomPurchase() now forwards startDate on both platforms.
  • Deep links are buffered until Dart subscribes.
  • Improved event handling across multiple Flutter engines.
  • Improved cleanup of listeners, subscriptions, and pending Android operations when an engine detaches.

Upgrade notes

  • Android now requires API 24 or later. iOS requires 13.0 or later.
  • Native automatic screen tracking is disabled. Add Grovs.navigatorObserver to your app’s navigator
    observers to track Flutter screens automatically.
  • The SDK starts enabled by default. For consent flows, set GrovsEnabled or grovs_enabled to false, then
    call setSDK(true) after consent. Your app must persist the user’s choice.
  • Clipboard lookup may trigger the iOS system paste notice.

Known limitations

  • onError currently emits events only on iOS.
  • On iOS, a deep link lookup already in progress may still deliver its result if consent is withdrawn and
    granted again before the lookup completes.