setgreet 1.13.0
setgreet: ^1.13.0 copied to clipboard
Official Flutter SDK for Setgreet - Mobile app user onboarding and engagement platform
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.11.0 - 2026-11-04 #
Changed #
- Native SDKs updated to Android 1.11.0 and iOS 1.11.0.
- iOS: the plugin now supports Swift Package Manager (the default from Flutter 3.44) through a Swift package that depends on
setgreet-ios-sdkat the bundled version, and it ships the iOS SDK's prebuilt frameworks for CocoaPods projects, so theSetgreetSDKandSetgreetSDKLottiepods are no longer fetched from the CocoaPods registry. Nothing changes in your Podfile. Lottie on Swift Package Manager is set up in Xcode; see "Lottie animations" in the README.
Added #
Setgreet.identifyUsertakes an optionaluserHash: the hex HMAC-SHA256 of the user id, computed on your server with your app's identity verification secret. Setgreet uses it to verify that a user id belongs to the signed-in user. See "Verify Users" in the README.
1.10.0 - 2026-10-30 #
This release carries the version of the native SDKs it bundles (1.10.0).
Changed #
- Upgraded native Android and iOS SDK dependencies to 1.10.0. No changes to how flows appear in your app.
1.9.0 - 2026-10-26 #
This release carries the version of the native SDKs it bundles (1.9.0).
Added #
Setgreet.setLocale(String? locale)sets the language flows are shown in on this device, for example from your app's language picker. The choice is saved on the device, survives relaunches andresetUser, and works beforeinitialize.nullor an empty string returns to the device language, and an invalid tag is ignored with a warning. Flows are shown in thesetLocaleoverride, else the last explicitidentifyUserlocale for the current user, else the user's locale saved on the server, else the device language.Setgreet.registerLottie()turns on Lottie animations in flows. On iOS it needs the opt-insetgreet/Lottiepod (see the README); without it, Lottie components render nothing on iOS. On Android the native SDK already includes Lottie, so the call always returnstrue. It returnsfalse, rather than throwing, when the native plugin does not answer. The README covers Podfiles with static frameworks (use_frameworks! :linkage => :static).
1.8.0 - 2026-10-16 #
This release carries the version of the native SDKs it bundles (1.8.0).
Changed #
- Upgraded native Android and iOS SDK dependencies to 1.8.0.
onActionTriggerednow reports each button's action as it runs, andonErrorreports a flow that could not be shown, with its error type. If you forward Track Event buttons to your analytics, do it inonTrackEventonly, sinceonActionTriggeredreports the same tap.
Added #
onCustomActionandonTrackEventcallbacks, with matchingCustomActionEventandTrackEventEventonSetgreet.flowEvents. They fire when the user taps a button or card whose action is Custom Action (with its custom data) or Track Event (with the event name and properties, to forward to your own analytics).- On Android, the plugin receives these events through the native SDK's single
Setgreet.setFlowListenerslot.Setgreet.initializereplaces a listener set from Android code before it, and aSetgreet.setFlowListenercall from Android code after it stops these events in Dart.
- On Android, the plugin receives these events through the native SDK's single
Breaking Changes #
SetgreetFlowEventhas three new subclasses (CustomActionEvent,TrackEventEvent,RemindLaterEvent). An exhaustiveswitchoverSetgreetFlowEventwithout adefaultno longer compiles: add cases for the new events, or adefaultcase. The version number follows the version of the bundled native SDKs (see 1.6.0), so this breaking change ships in a minor release.
Fixed #
- The minimum Flutter version in
pubspec.yamlis now 3.27.0. Since 1.1.0, theme sync has usedColor.r,.gand.b(Flutter 3.27) andColorScheme.surfaceContainerHighest(Flutter 3.22), so the package did not compile on older Flutter versions even though pub accepted them.
1.7.0 - 2026-10-11 #
This release carries the version of the native Android SDK it bundles (1.7.0). The native iOS SDK stays at 1.6.0.
Changed #
- Upgraded native Android SDK dependency to 1.7.0. The Android SDK no longer sets a network security config for your whole app, so your app's own network policy applies again. If your app relied on the SDK's config, for example to trust user-installed CA certificates, or references
@xml/network_security_configwithout defining it, add a network security config of your own.
Fixed #
- Flow callbacks (
setFlowCallbacks, includingonPurchaseCompleted) stopped firing once the app listened toSetgreet.flowEvents, and cancelling that listener stopped every event untilinitializeran again. The callbacks and everyflowEventslistener now share one subscription to the native events.
1.6.0 - 2026-10-11 #
This release carries the version of the native SDKs it bundles (1.6.0), which shipped the same new purchase events as a minor release.
Added #
- Purchases and paywalls:
Setgreet.setPurchaseProviderregisters aSetgreetPurchaseProviderthat your app implements in Dart on top of the purchase tool it already uses (RevenueCat, Adapty, StoreKit, Google Play Billing). Paywall screens load products, purchase, restore and branch on the outcome through it. - Purchase events:
onPurchaseCompleted,onPurchaseCancelled,onPurchaseFailed,onPurchasePending,onRestoreCompletedandonRestoreFailedcallbacks, with matchingSetgreetFlowEventsubclasses onSetgreet.flowEvents. - A copy-paste RevenueCat reference provider in the example app (
example/lib/setgreet_revenuecat_provider.dart, forpurchases_flutter10.3.0 or later).
Breaking Changes #
SetgreetFlowEventhas six new subclasses (PurchaseCompletedEvent,PurchaseCancelledEvent,PurchaseFailedEvent,PurchasePendingEvent,RestoreCompletedEvent,RestoreFailedEvent). An exhaustiveswitchoverSetgreetFlowEventwithout adefaultno longer compiles: add cases for the new events, or adefaultcase.
Changed #
- Upgraded native iOS SDK dependency to 1.6.0
- Upgraded native Android SDK dependency to 1.6.0
1.1.0 - 2026-06-19 #
Added #
syncTheme()method to push your app's brand colors and fonts to Setgreet so flows match your app- New flow components, available automatically via the updated native SDKs: Switch, Segmented Control, Chip, Stepper, and Quiz
- Button icons, native entrance animations (fade, slide-up, scale), and accessibility label support
Changed #
- Upgraded native iOS SDK dependency to 1.1.0
- Upgraded native Android SDK dependency to 1.1.0
1.0.0 - 2026-02-28 #
Breaking Changes #
- Minimum iOS version raised from 11.0 to 15.0
- Minimum Android SDK version raised from 21 to 23
Added #
anonymousIdstatic getter for accessing the device's anonymous identifier- New dismiss reasons:
swipeDown,completed,remindLater
Changed #
- Upgraded native iOS SDK dependency from 0.5.0 to 1.0.0
- Upgraded native Android SDK dependency from 0.6.0 to 1.0.0
0.2.0 - 2025-10-01 #
0.1.0 - 2025-08-27 #
Added #
- Initial release of Setgreet Flutter SDK
- Core functionality:
- SDK initialization with app key and configuration
- User identification with custom attributes
- Event tracking with properties
- Screen tracking with properties
- Flow display functionality
- User session reset
- Cross-platform support for Android and iOS
- Comprehensive error handling with custom exceptions
- Debug mode support for development
- Example Flutter app demonstrating all features
- Complete documentation and API reference
Technical Details #
- Built with Flutter 3.0+ and Dart 3.0+
- Android implementation using Kotlin and MethodChannel
- iOS implementation using Swift and FlutterMethodChannel
- Platform-specific native SDK integrations
- Proper error propagation and exception handling