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

Laravel Push Notification Laravel Package

davibennun/laravel-push-notification

Laravel package for sending push notifications to iOS and Android devices via APNs and GCM/FCM. Integrates with Laravel's queue, config, and service container, letting you dispatch notifications to one or many devices through a simple, unified API.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: The package is a thin Laravel service-provider/facade wrapper around device push delivery, historically APNs for iOS and GCM for Android. It fits a legacy Laravel 4/5 monolith that needs simple, fire-and-forget device notifications. It does not fit a modern Laravel/PHP 8+ architecture, queued multi-tenant notification pipeline, or event-driven service without significant isolation and adaptation.

Integration feasibility: Feasible only in a legacy stack with compatible PHP/Laravel constraints. Installation depends on old Illuminate versions and provider credentials such as APNs certificates and a GCM API key. The Android path is effectively non-viable because GCM was shut down and replaced by FCM. The iOS path likely relies on older certificate-based APNs flows that require careful lifecycle management. Treat this as a short-term bridge or reference implementation, not a strategic dependency.

Technical risk: High. The repository is archived, so there are no upstream security patches, framework compatibility updates, or provider modernization. GCM deprecation alone breaks the Android delivery path. APNs certificate rotation, token-based auth migration, retry semantics, observability, and dead-token handling are not adequately addressed for current production expectations. The 1,225 stars indicate historical adoption, not current maintainability.

Key questions:

  • Which Laravel and PHP versions must be supported?
  • Which platforms and push providers are actually in scope: APNs, FCM, or both?
  • Is any existing code still using GCM endpoints or legacy APNs certificates?
  • What are the delivery volume, latency, retry, and delivery-receipt requirements?
  • Who will own a fork or replacement if the package is retained temporarily?
  • What is the security/compliance requirement for storing APNs certificates and provider keys?
  • What is the exit timeline and acceptable risk window?

Integration Approach

Stack fit: Use only as an isolated adapter inside a legacy Laravel application. For modern stacks, prefer maintained Laravel notification channels or direct FCM HTTP v1 and APNs HTTP/2 token-based integrations. The package should not leak its facade or models into domain code.

Migration path: Introduce an internal PushGateway interface and wrap the package behind an adapter. Keep all legacy package calls in one module. Replace Android/GCM with FCM first, then migrate iOS to token-based APNs. Once both transports are behind the interface, swap the adapter to a maintained library or direct provider SDK and remove the package.

Compatibility: Validate Composer constraints against the actual PHP/Laravel version, OpenSSL behavior, and provider credential formats. Expect conflicts with modern Illuminate packages. Pin the package version exactly and avoid upgrading Laravel until the adapter is removed or forked.

Sequencing:

  1. Inventory all package usage, credentials, and delivery paths.
  2. Decide whether this is a temporary bridge or immediate replacement.
  3. Create the internal push interface and isolate legacy calls.
  4. Stand up FCM and APNs pilots behind feature flags.
  5. Migrate Android off GCM first because it is already broken.
  6. Migrate iOS to modern APNs auth.
  7. Remove the package, rotate credentials, and decommission old configuration.
  8. Maintain rollback through feature flags until delivery metrics are stable.

Operational Impact

Maintenance: Archived status means no upstream fixes. The team must own dependency security, compatibility patches, certificate rotation, and provider API changes. Budget for a fork or, more likely, replacement. Static analysis and dependency scanners will continue to flag the package.

Support: Community support is stale and there is no vendor SLA. Incident response depends on internal knowledge of legacy APNs/GCM behavior. Teams should document provider consoles, credential owners, and escalation paths before relying on it.

Scaling: The package is likely synchronous per-device send with limited batching, retry, backoff, and rate-limit handling. High-volume use requires queue workers, batching, provider rate-limit controls, and dead-token cleanup. Without those, delivery latency and provider throttling will become operational issues.

Failure modes: Common failures include expired APNs certificates, invalid or stale device tokens, GCM 404/410 responses, silent delivery failures, missing delivery receipts, credential leakage, PHP/framework incompatibility, and abrupt provider deprecation. Instrument logging, metrics, alerting, and a dead-letter queue around every send path.

Ramp-up: Initial ramp-up is low for developers familiar with legacy Laravel facades, but the hidden cost is high: the team must still learn modern FCM HTTP v1 and APNs token-based authentication to replace it. A TPM should fund a short spike, assign clear ownership, and set a hard removal date rather than allowing the package to persist indefinitely.

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.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core