airsignal_flutter 0.5.0
airsignal_flutter: ^0.5.0 copied to clipboard
Flutter SDK for Airsignal push notifications. Thin Dart facade; native Android owns push delivery, HTTP, and persistence. iOS support is stubbed for a future release.
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.
0.5.0 - 2026-08-02 #
Breaking #
- Removed
Airsignal.apiDomain/Airsignal.apiBaseUrl. The API host is fixed internally and is no longer readable or configurable. - Removed
Airsignal.user.setExternalId. UseAirsignal.login(externalId)/Airsignal.logout()instead. - Removed
AirsignalPushSubscription.token. Push tokens stay native-only; target sends withsubscriberId/externalId. - Removed non-product host APIs:
Airsignal.instance,AirsignalNotification.rawPayload,airsignalSdkVersion, listener dispatch helpers, user cache helpers, andAirsignal.debugemit/forwarder methods. KeepAirsignal.debug.setLogLevel.
Changed #
Airsignal.login/Airsignal.logoutnow fail loudly on error instead of silently succeeding; the cached identity only updates once the server confirms.- More reliable notification engagement tracking.
- Logs and error messages are fully branded — failures never leak internal API details.
- Soft operational skips log at verbose only; default warn stays business-minimal.
- Android device
modelprefers the user-visible device name, then the OEM marketing name when needed, then the hardware model code. - README is minimal and points to the hosted Flutter docs and account signup.
Fixed #
- Notification click callbacks now fire reliably when the app is opened from a background or killed state.
- Custom notification data is now delivered correctly to click and foreground listeners.
- Tapping a notification with a link no longer opens the app before the browser. The link now opens directly, and returning from the browser no longer forces the app into the foreground.
- Notification taps work on Android 12 and newer, where the system blocks the previous open path.
- Click engagement and open destination use one native processor (SDK tray → trampoline; system tray → inline). No host→trampoline handoff.
- Cold-start clicks emit once (native flush only; no Dart double-dispatch race).
- System-tray host dismiss runs only when the browser actually opened (not after app fallback).
- Android notifications request vibration permission and default sound + vibration together.
- Android posts to a vibrate-capable channel (
Airsignal Push) so devices that already had an older channel still get vibration.
0.4.1 - 2026-07-28 #
Changed #
- More reliable push subscription syncing.
- Foreground tray notifications are shown by default.
- Notification body taps always open links in the browser.
Removed #
- The
openLaunchUrlAutomaticallyinitialize option (link opening is no longer configurable).
Added #
- Typed initialize errors so invalid or disabled apps fail clearly instead of silently.
0.4.0 - 2026-07-28 #
Added #
showNotificationOnForegroundoption with apreventDefaulthook to control foreground notifications.
Changed #
initializenow only requires anappId.- License updated to Modified MIT.
Fixed #
- Notification clicks no longer double-fire and always bring the app to the foreground.
- Image loading and link opening restricted to secure connections.
- Numerous stability and reliability improvements.
Removed #
- The
apiDomaininitialize option (the API host is fixed).
[0.3.x] - 2026-07-28 #
Changed #
- Consolidated the public API into a single, consistent surface for identity, tags, and aliases.
- Simplified
initializeto require only anappId. - Rebranded the package and public API to Airsignal.
- Raised the minimum supported Flutter/Dart versions.