// the find
OneSignal/OneSignal-Flutter-SDK
OneSignal makes engaging customers simple and is the fastest, most reliable service to send push notifications, in-app messages, SMS, and emails. This plugin makes it easy to integrate your Fluter app with OneSignal. https://onesignal.com
Official Flutter plugin wrapping the OneSignal push notification / in-app messaging / SMS / email service. It's a thin Dart bridge over the native iOS and Android SDKs, so you're mostly getting platform-channel glue code rather than any independent logic. The v5 SDK brought a user-centric model that breaks the old subscription-based API, so existing integrations need a meaningful migration.
The v5 user-centric model (one user identity across devices/channels) is a real improvement over the old subscription-ID approach — it solves a real annoyance for apps where users log in on multiple devices. The `ONESIGNAL_DISABLE_LOCATION` environment variable for stripping the location module at build time is handled correctly across SPM, CocoaPods, and Gradle, and the README is honest about the cache-clearing footgun. CI setup is thorough: separate workflows for lint, CodeQL, E2E, CD, and publish, with reusable composite actions for each platform setup. The demo app covers nearly every SDK surface area including Live Activities and widgets, which is more than most official SDK examples bother with.
This is a cloud-service SDK — you're locked to OneSignal's backend, their pricing, and their data handling. There's no self-hosted path. The v5 migration guide exists but the README still says 'tested from iOS 8 to iOS 15' and 'Android 4.0.3 to Android 12' — those ranges are years out of date and signal the docs aren't being maintained in sync with releases. The Flutter layer is almost entirely platform-channel forwarding with no meaningful abstractions; if OneSignal's native SDK does something wrong, you have little ability to work around it in Dart. Travis CI badge still in the README pointing at a dead config while actual CI runs on GitHub Actions — small thing but tells you the README is on autopilot.