flutter_activity_kit 0.4.1
flutter_activity_kit: ^0.4.1 copied to clipboard
Declarative iOS Live Activities (Dynamic Island & Lock Screen) and Android Ongoing Notifications with push token sync, rich state models, and preview widgets.
Changelog #
0.4.1 #
- Documentation Overhaul & Developer Guide:
- Comprehensive documentation covering the Fluent Quick-Start API, reactive
ActivityController<T>, andActivityActionListener. - Added full guide for backend integration with WebSockets, Firebase Cloud Firestore, Apple APNs HTTP/2 Live Activity Pushes, and FCM background handlers.
- Added detailed native setup instructions for Swift Package Manager (SPM), iOS 17 AppIntents, and Android 13+ Notification permissions.
- Added hardware chronometer and 60 FPS zero-battery countdown guides.
- Comprehensive documentation covering the Fluent Quick-Start API, reactive
- Smart Concurrency Debouncing in
ActivityController:- Built-in
syncDebounce(150ms) and in-flight concurrency queue to eliminate platform channel throttling and latency during rapid UI state mutations.
- Built-in
0.4.0 #
- Fluent Quick-Start API (
FlutterActivityKit.start(),quickUpdate(),quickEnd()):- Start, update, and end Live Activities and Ongoing Notifications in 1 concise line of code without needing nested wrapper classes.
- Automatically resolves hardware countdowns, custom activity types, and channel options.
- Reactive State Controller (
ActivityController<T>):- Bind any Flutter data model or
ValueNotifierdirectly to an activity. - Updating
controller.value = newStateautomatically pushes synchronization to the Dynamic Island & Android Notification. - Includes
ActivityBuilder<T>widget for reactive UI binding.
- Bind any Flutter data model or
- Declarative Action Routing & Push Hooks (
FlutterActivityKit.onAction(),ActivityActionListener):- Register action callbacks anywhere without manual
StreamSubscriptionlifecycle management. FlutterActivityKit.onPushToken()helper for easy backend token synchronization.
- Register action callbacks anywhere without manual
- Updated Example App:
- Refactored example app to showcase the Fluent Quick-Start API, reactive
ActivityController,ActivityBuilder, andActivityActionListener.
- Refactored example app to showcase the Fluent Quick-Start API, reactive
0.3.0 #
- Fluent Quick-Start API (
FlutterActivityKit.start(),quickUpdate(),quickEnd()):- Start, update, and end Live Activities and Ongoing Notifications in 1 concise line of code without needing nested wrapper classes.
- Automatically resolves hardware countdowns, custom activity types, and channel options.
- Reactive State Controller (
ActivityController<T>):- Bind any Flutter data model or
ValueNotifierdirectly to an activity. - Updating
controller.value = newStateautomatically pushes synchronization to the Dynamic Island & Android Notification. - Includes
ActivityBuilder<T>widget for reactive UI binding.
- Bind any Flutter data model or
- Declarative Action Routing & Push Hooks (
FlutterActivityKit.onAction(),ActivityActionListener):- Register action callbacks anywhere without manual
StreamSubscriptionlifecycle management. FlutterActivityKit.onPushToken()helper for easy backend token synchronization.
- Register action callbacks anywhere without manual
- Native Hardware Countdowns & Chronometers (
ActivityTimer):- Hardware-rendered real-time countdown timers and elapsed stopwatches.
- Rendered at 60 FPS natively in Apple's SystemUI on the Dynamic Island and Lock Screen using SwiftUI's
Text(timerInterval:pauseTime:countsDown:)with zero CPU wakeups, zero battery drain, and zero background bridge calls. - Rendered in Android Ongoing Notifications via SystemUI
setUsesChronometerandsetChronometerCountDown. - Added
ActivityTimer.countdown()andActivityTimer.chronometer()factory constructors.
- Deep Linking & Foreground Intent Launching:
- Added
FlutterActivityOpenAppIntentfor direct foreground app opening from Dynamic Island / Lock Screen buttons. - Native Phone dialer launcher (
Link(destination: "tel://...")). SceneDelegate/AppDelegateURL context bridge.- Android
PendingIntent.getActivitywithFLAG_ACTIVITY_SINGLE_TOPfor seamless foreground navigation.
- Added
0.2.0 #
- Interactive iOS 17+ AppIntents:
- Direct background interactive button execution from Dynamic Island and Lock Screen via
FlutterActivityActionIntentwithout opening the app. - Fixed platform channel threading to guarantee all action events dispatch on the platform main thread.
- Direct background interactive button execution from Dynamic Island and Lock Screen via
- Android Runtime Permission (
POST_NOTIFICATIONS):- Added native
FlutterActivityKit.requestPermissions()with automatedActivityAwareruntime permission handling on Android 13+ (API 33+).
- Added native
- iOS 16.1 & 16.2+ Compatibility:
- Full compatibility branching between
Activity.content(iOS 16.2+) andActivity.contentState(iOS 16.1). - Made
IOSOptions.pushTypeoptional/nullable for seamless local activities without requiring remote APNs certificates.
- Full compatibility branching between
- Swift Package Manager (SPM):
- Added full Swift Package Manager compatibility for modern Flutter iOS builds.
- Automatic Live Sports Match Simulation:
- Added real-time auto-updating match simulation to the example application.
0.1.0 #
- Initial release of
flutter_activity_kit. - Unified Declarative API:
startActivity,updateActivity,endActivity,listActivities,getActivityState,areActivitiesEnabled.
- iOS Live Activities & Dynamic Island Support:
- Full Swift ActivityKit bridge for iOS 16.1+.
- Support for Dynamic Island (Expanded, Compact, Minimal) and Lock Screen banners.
- Push-to-update and push-to-start token management and streams.
- Live activity state change streams.
- Swift code generator CLI tool (
dart run flutter_activity_kit:generate_swift).
- Android Ongoing Notifications Support:
- Ongoing, pinned notification channel management.
- Progress bars, chronometer/countdown timers, badges, and custom action buttons.
- Broadcast receiver bridging action clicks back to Dart event stream.
- Flutter In-App Previews:
DynamicIslandPreviewandOngoingNotificationPreviewwidgets to inspect and preview live activities inside any Flutter view.
- Rich Models & Configuration:
ActivityAttributes,ActivityContentState,ActivityContent,ActivityAlert,ActivityAction,AndroidOptions,IOSOptions.
- Comprehensive example application with delivery tracking, sports live score, and timer use cases.