PackageTrack
Sign in Get early access

klaviyo_flutter_sdk

A Flutter plugin that provides a wrapper around the native Klaviyo SDKs for iOS and Android.

0.2.0 2.9K downloads/mo #4695 most downloaded on pub.dev klaviyo/klaviyo-flutter-sdk

What this package is like to depend on

Last release 3 months ago

05 May 2026

Ships fairly regularly

a new release about every 4 weeks

Nearly every release is documented

notes for 2 of 2 stable releases

Nothing withdrawn

no release was ever pulled

5 months old

3 releases · first in 2026

3 releases in the last 12 months

see the full history below

Release timeline

3 releases · Mar 2026 to May 2026
Release Pre-release

Releases

latest 3
  1. 0.2.0 05 May 2026
    Release notes

    What's New

    • Form lifecycle events — New onFormLifecycleEvent stream emits typed FormShown, FormDismissed, and FormCtaClicked events for in-app forms. Use Dart pattern matching for exhaustive handling. (#75)

    • Native SDK upgrade — Now consuming KlaviyoSwift ~> 5.3.1 and klaviyo-android-sdk 4.4.0, which brings:

      • Push notification action buttons (up to 3 tappable buttons per Klaviyo push, configured in the Klaviyo dashboard — no integration changes required)
      • Floating (Android) / Flyout (iOS) in-app form presentation styles
      • Cross-platform form lifecycle hooks (surfaced through the new onFormLifecycleEvent stream above)

      See klaviyo-android-sdk 4.4.0 and klaviyo-swift-sdk 5.3.0 for full native release notes. (#88)

    Bug Fixes

    • Android push tap eventsonPushNotification now correctly emits push_notification_opened when a user taps a Klaviyo push. Previously the tap event was silently dropped on Android due to a com.klaviyo. namespace prefix mismatch in the intent extras. (#83)
    • Re-initializationKlaviyoSDK().initialize() no longer silently swallows subsequent calls with a different API key, enabling runtime account switching for multi-tenant apps. The apiKey is now updated only after the native call succeeds, so a failed re-init does not corrupt state. (#80)
    • Flutter version compatibility — Relaxed the meta dependency constraint from ^1.17.0 to ^1.15.0 so the SDK resolves cleanly against Flutter 3.24.x–3.37.x (these versions pin meta transitively via flutter_test). (#82)

    Other Changes

    • Documentation — README updated to cover push action buttons, the new floating/flyout form layouts, and the typed onFormLifecycleEvent API.
    • Example app — Deferred the Android notification permission prompt to the Push tab so it fires on user opt-in rather than at app launch. (#84)
    • Example app — Differentiated pure silent pushes from standard pushes with content-available in the iOS AppDelegate, with matching docs in the README's Silent Push section. (#72)
    • Build & CI — Migrated release workflow to OIDC-based pub.dev publishing (replaces the credential-based PUB_CREDENTIALS secret with the Dart team's reusable workflow). (#71)
    • Build & CI — Fixed local SDK setup script, JitPack branch version handling (/~), and pegged the example app's iOS MARKETING_VERSION to the plugin version. (#74, #76, #89)
    • README — Removed WIP status banner. (#65)

    Full Changelog: 0.1.0...0.2.0

    What's Changed

    • Migrate release workflow to OIDC-based pub.dev publishing by @ab1470 in #71
    • Update README to remove WIP status by @ajaysubra in #65
    • [MAGE-218] feat(example/ios): differentiate silent from standard push with content-available by @aahiltn in #72
    • Fix JitPack branch version: replace / with ~ in branch names by @evan-masseau in #74
    • chore(android) Fix android local SDK setup by @evan-masseau in #76
    • fix(deps): relax meta constraint to ^1.15.0 for Flutter 3.24.x-3.37.x compat by @ab1470 in #82
    • fix(example): defer notification permission to Push tab by @ab1470 in #84
    • chore(scripts): peg example app version to plugin version by @ab1470 in #89
    • docs(readme): update for 0.2.0 (Android 4.4.0 / iOS 5.3.0) by @ab1470 in #90
    • docs(changelog): fill in 0.2.0 entry by @ab1470 in #92
    • fix(scripts): verify newly synced files in bump_version.sh by @ab1470 in #93
    • fix(forms): tighten form lifecycle event handling for cross-platform parity by @ab1470 in #94
    • docs(forms): add form lifecycle events section to README by @evan-masseau in #95
    • Version 0.2.0 Release by @evan-masseau in #77

    Full Changelog: 0.1.0...0.2.0

    Open source →
    Release notes

    What's New

    • Form lifecycle events — New onFormLifecycleEvent stream emits typed FormShown, FormDismissed, and FormCtaClicked events for in-app forms. Use Dart pattern matching for exhaustive handling. (#75)

    • Native SDK upgrade — Now consuming KlaviyoSwift ~> 5.3.1 and klaviyo-android-sdk 4.4.0, which brings:

      • Push notification action buttons (up to 3 tappable buttons per Klaviyo push, configured in the Klaviyo dashboard — no integration changes required)
      • Floating (Android) / Flyout (iOS) in-app form presentation styles
      • Cross-platform form lifecycle hooks (surfaced through onFormLifecycleEvent above)

      See klaviyo-android-sdk 4.4.0 and klaviyo-swift-sdk 5.3.0 for full native release notes. (#88)

    Bug Fixes

    • Android push tap eventsonPushNotification now correctly emits push_notification_opened when a user taps a Klaviyo push. Previously the event was silently dropped on Android due to a com.klaviyo. namespace prefix mismatch in the intent extras. (#83)
    • Re-initializationKlaviyoSDK().initialize() no longer silently swallows subsequent calls with a different API key, enabling runtime account switching for multi-tenant apps. (#80)
    • Flutter version compatibility — Relaxed the meta dependency constraint from ^1.17.0 to ^1.15.0 so the SDK resolves cleanly against Flutter 3.24.x–3.37.x. (#82)

    Documentation

    • README updated to cover push action buttons, floating/flyout form layouts, and the typed onFormLifecycleEvent API. (#90)

    Platform Support

    • iOS: Minimum deployment target 13.0, wraps Klaviyo Swift SDK ~> 5.3.1
    • Android: Minimum SDK version 23, wraps Klaviyo Android SDK 4.4.0
    • Flutter: Minimum Flutter 3.24.0, Dart 3.0.0+

    Full Changelog

    Open source →
  2. 0.1.0 26 Mar 2026
    Release notes

    This is the initial beta release of our Flutter SDK, containing a few bug fixes from the 0.1.0-alpha.1 version.

    This beta contains a backwards-compatibility layer from the klaviyo_flutter community plugin; see the Migration Guide for more details.

    What's Changed

    • Create AI context files by @ab1470 in #54
    • Add configure-sdk.sh for switching native SDK versions by @ab1470 in #55
    • Fix pub.dev release automation by removing v prefix from tag pattern by @ajaysubra in #56
    • Fix setProfile silently dropping location data on iOS and Android by @ab1470 in #59
    • Add KlaviyoCore pod override to configure-sdk.sh by @ab1470 in #62
    • Remove standalone setLocation method by @ab1470 in #63
    • Add backwards compatibility bridge for community SDK migration by @ab1470 in #58
    • Add isKlaviyoNotification Map extension by @ab1470 in #66
    • Refresh README documentation by @ab1470 in #67
    • Bump native SDK versions (iOS 5.2.2, Android 4.3.1) by @ab1470 in #68
    • Run version bump script by @ab1470 in #70

    Full Changelog: 0.1.0-alpha.1...0.1.0

    Open source →
  3. 0.1.0-alpha.1 06 Mar 2026 pre-release
    Release notes

    This is the initial alpha release of our Flutter SDK.

    Open source →
    Release notes

    Initial alpha release of the Klaviyo Flutter SDK.

    Features

    • SDK Initialization: Initialize with your Klaviyo public API key
    • Profile Management: Set and get profile identifiers (email, phone number, external ID), set full profiles with custom properties and location, and reset profiles on logout
    • Event Tracking: Track custom events with properties and timestamps via createEvent
    • Push Notifications:
      • Register for push notifications (APNs on iOS, FCM on Android)
      • Automatic push token capture and forwarding to Klaviyo
      • Push notification open tracking
      • Silent push support (iOS)
      • Rich push support (images in notifications)
      • Badge count management (iOS)
      • Stream-based push event listener (onPushNotification)
    • In-App Forms: Register/unregister for in-app forms with optional configuration, with stream-based form event listener (onFormEvent). Forms module can be excluded to reduce SDK size.
    • Geofencing: Register/unregister for geofence monitoring. Location module is opt-in to avoid unnecessary dependency on location services.
    • Deep Linking: Handle Klaviyo universal tracking links with handleUniversalTrackingLink for click tracking and link resolution
    • Logging: Configurable log levels (none, error, warning, info, debug)

    Platform Support

    • iOS: Minimum deployment target 13.0, wraps Klaviyo Swift SDK ~> 5.2.2
    • Android: Minimum SDK version 23, wraps Klaviyo Android SDK 4.3.1
    • Flutter: Minimum Flutter 3.24.0, Dart 3.0.0+
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive