fresh/firebase-cloud-messaging-bundle
Fresh/FirebaseCloudMessagingBundle integrates Firebase Cloud Messaging into Symfony applications, providing configuration and services to send push notifications to Android, iOS, and web clients through FCM.
laravel-notification-channels/fcm or kreait/firebase-php already occupy that slot with real maintenance.Consider it only as reading material or a throwaway spike — and only when all of the following hold:
Look elsewhere — typically straight at the FCM HTTP v1 API behind your own interface — when any of these are true:
laravel-notification-channels/fcm (native notification channel, queue-aware) or kreait/firebase-php, or write a ~1-day v1 client against google/auth + Guzzle. Composer resolution against Laravel's pinned Symfony majors is a plausible blocker before you write a line of code.fcm.googleapis.com/fcm/send) or HTTP v1 with OAuth2 service-account auth. Legacy-only is an automatic disqualifier — messages will silently fail.UNREGISTERED, 500-token multicast batching, per-project rate governance. None of this is in scope.For executives: This is a small, essentially unadopted open-source connector for push notifications — and it is built for Symfony, not our Laravel stack, so it would need bespoke adaptation to use at all. It is not a notification platform: no campaign targeting, no analytics, no delivery guarantees, no vendor support. There is also a material technical risk that it targets a Google push API that was shut down in 2024, meaning it may not function against current infrastructure. My recommendation: do not put this on the critical path. Approve a one-sprint spike behind a feature flag to validate whether push is worth building now, and run a parallel quote against a managed provider or a maintained Laravel-native library so we can compare total cost of ownership. Decision required: fund the spike, or defer push to the next planning cycle.
For engineering: It's a thin Symfony bundle over Firebase Cloud Messaging — framework-coupled, undocumented beyond the minimum, and unmaintained by any measurable standard (0 stars, 0 dependents, score 0). Two things gate everything: (1) does composer require resolve cleanly on our PHP/Laravel version given its Symfony constraints, and (2) does it target FCM HTTP v1 with OAuth2 service-account auth, or the decommissioned legacy endpoint? If either answer is bad — and I expect both to be — we stop there. The fallback is the actual plan: define a PushSender interface in our domain, implement it over FCM HTTP v1 via kreait/firebase-php or google/auth + Guzzle, dispatch through queued jobs, and handle token lifecycle and observability as first-class work. Realistic estimate: half a day to evaluate and disqualify versus one to two days to build a clean, supportable v1 client. Treat this package as reference material to read, not a dependency to ship.
Bottom line for the decision log: Low-value, high-uncertainty dependency with a framework mismatch and a probable dead API underneath. Evaluate as a pattern to copy, not a package to adopt.
How can I help you explore Laravel packages today?