finds.dev← search

// the find

OneSignal/OneSignal-Flutter-SDK

★ 648 · Dart · NOASSERTION · updated Jun 2026

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.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →