finds.dev← search

// the find

rafaelsetragni/awesome_notifications

★ 823 · Dart · Apache-2.0 · updated Jun 2026

A complete solution to create Local Notifications and Push Notifications, throught Firebase or another services, using Flutter.

Notifications plugin for Flutter covering local scheduling and Firebase push. It wraps Android and iOS notification APIs into a single Dart interface with channel management, action buttons, scheduled triggers, and event callbacks. Aimed at Flutter developers who need more control than flutter_local_notifications offers and want Firebase push in the same package.

The event model is well-thought-out — callbacks fire via static methods with @pragma vm:entry-point, which is the correct way to survive tree-shaking and background isolate boundaries. Scheduling has second-level precision with calendar, interval, and cron-style triggers, which covers most real-world use cases without reaching for a separate package. The plugin correctly separates local notification state from push delivery by offloading FCM to a companion package (awesome_notifications_fcm) instead of bundling firebase_messaging, which avoids the permission conflicts that plagued older approaches. Migration guides between breaking versions are specific and include before/after code, which saves hours when upgrading.

The README carries a prominent 'UNDER DEVELOPMENT' warning with progress percentages, which is not reassuring for a package at v0.11 — it signals the API surface is still unstable. Web and desktop are explicitly not supported, so if your Flutter app targets anything beyond Android/iOS, this does not work and you'll need a different solution anyway. The plugin is incompatible with flutter_local_notifications and any other notification library, meaning if you're adding this to an existing app that already uses another notification plugin you must rip it out entirely — a significant adoption cost. iOS configuration requires non-obvious Podfile surgery with two separate Ruby blocks that must not be confused with each other; getting it wrong produces cryptic build failures with no clear error message pointing back to this setup step.

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 →