Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Fcm Bundle Laravel Package

redjanym/fcm-bundle

A Symfony bundle for Firebase Cloud Messaging (FCM) that provides simple services and configuration to send push notifications to Android and iOS devices through Google's FCM HTTP API.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Push as a first-class engagement channel. Adding FCM delivery to a consumer mobile app (order updates, transactional alerts, re-engagement) is a product capability decision, not just an infra one — this bundle covers the delivery mechanics so the roadmap conversation can focus on what we notify users about and when.
  • Legacy FCM migration. Google shut down the legacy FCM server-key API in 2024. If we have anything still on fcm/send with a server key, "migrate to HTTP v1" is a forced roadmap item; this bundle is a cheap path to closing it.
  • Build vs. buy (small scope). The alternative is writing our own HTTP v1 client: service-account JSON parsing, OAuth2 token minting, caching, refresh-on-401, and retry/backoff. That's 1–2 weeks of engineering plus permanent ownership of a brittle auth path. A ~40-star MIT bundle is a reasonable "buy" for this narrow, well-specified problem.
  • Notification abstraction strategy. Whether push is a standalone integration or one channel behind an internal Notifier interface (email, SMS, push) is a real architecture decision. This package's small surface makes it easy to sit behind our own adapter, which is the option I'd recommend.
  • Vendor and platform fit. Note the framing: this is a Symfony bundle, not a Laravel package. It supports a decision to standardize push delivery in Symfony services via DI and a config tree; for a Laravel codebase the decision is different (see below). Getting this wrong is the single biggest adoption risk here.
  • Feature-level use cases it directly enables: per-device token targeting, topic/broadcast sends, multi-tenant notification fan-out, and localized transactional messages.

When to Consider This Package

Adopt when:

  • The application is Symfony 5/6/7 and already uses bundles — registration, service configuration, and autowiring just work.
  • Requirements are genuinely narrow: send a push to a device token or topic via FCM HTTP v1. No analytics, no A/B testing, no campaign orchestration.
  • The team is willing to own a small dependency — pin a version, read the source (it's small), and fork or vendor it if the maintainer goes quiet.
  • You want MIT-licensed, no-vendor-lock-in code that can be replaced by swapping one adapter class.
  • You need migration off legacy FCM faster than you can build an in-house OAuth2 client.

Look elsewhere when:

  • The stack is Laravel. This is not a Laravel package; adopting it means fighting bundle registration and config semantics or hand-wiring the FCM client. Use a Laravel-native path instead (kreait/laravel-firebase, laravel-notification-channels/fcm).
  • Framework-agnostic PHP service, or a non-Symfony codebase. Use kreait/firebase-php — broader feature coverage, HTTP v1 support, far larger maintainer base.
  • You're already on Symfony Notifier. Its Firebase bridge is a better fit for consistency with existing channels; adding a parallel push mechanism creates two code paths.
  • You need guarantees. 43 stars and 0 dependents means no downstream validation, effectively a bus factor of one. Not acceptable for revenue-critical delivery without a wrapper, contract tests, and a documented fallback.
  • Feature scope grows beyond single sends: batching, topic management, APNs-direct payload tuning, delivery analytics, or per-message localization — reach for a fuller SDK.
  • You require enterprise support/SLA or a security review trail on dependencies.

How to Pitch It (Stakeholders)

To executives (30 seconds): Push notifications are how we get users back into the app and confirm time-sensitive events. This is a small, free (MIT) library that plugs into Google's current push infrastructure — the one Google now requires — so we're not building authentication plumbing ourselves. Estimated effort: days, not weeks. The risk is that it's a low-adoption, single-maintainer project, so we'll contain it behind our own interface: if it's abandoned, we swap one file, not the product. It is Symfony-only, so it applies to our Symfony services and not to any Laravel work.

To engineering: Narrow, single-purpose bundle — config via service-account JSON, DI-friendly service, HTTP v1 + OAuth2 handled internally. We wrap it in our own PushSender interface so no feature code depends on the vendor directly, and we add contract tests against a sandbox FCM project. Expect a small amount of glue code; budget half a day for spike + integration test. Flag: no release cadence guarantees and zero dependent projects, so read the source before pinning, and keep kreait/firebase-php as the documented fallback if we outgrow it.

To product/design: This unblocks device-level and topic-level push. It does not give us campaign scheduling, segmentation, or delivery analytics — those stay our responsibility or a separate tool. Decide now whether notification targeting logic lives in our app or in a marketing platform, because that choice determines how much we build on top of this.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route