laravel-notification-channels/pusher-push-notifications
Send Laravel notifications as push notifications through Pusher's Push Notifications (Beams) service. This channel lets you deliver mobile and web push messages using Laravel's familiar notification system, with support for device interest subscriptions and rich payloads.
via() channel" on Laravel's existing notification abstraction. That reframes the decision from "do we build a notification service?" to "which channels ship this quarter?" — push becomes a scoping call, not an engineering program.Notification classes as the product-facing contract and buy only the last mile (APNs/FCM credentials, device-token lifecycle, fan-out). The buy surface is one channel class plus config, so the decision is reversible.Adopt when:
Notification classes — adoption cost is roughly a config entry plus a channel reference.Look elsewhere when:
kreait/laravel-firebase gives more control.laravel-notification-channels/webpush (VAPID) removes the paid intermediary entirely.dependents: 0 and modest stars are diligence signals: treat this as spike-and-validate, pin the version, and accept that forking is a realistic fallback. That said, the 4.4.0 Laravel 13 compatibility release (via laravel-shift) is a positive maintenance signal — the package is being kept current with the framework, which is the failure mode that usually kills abandoned channel packages. It is still not a commercial support commitment, and low dependents means few public war stories — budget for your own edge-case testing.Executives. For roughly a day of integration work we get cross-platform push — iOS, Android, and web — without standing up notification infrastructure or owning APNs/FCM credential operations. It rides on the notification system we already have, so every future push is a small addition rather than a new project. The trade-offs are a delivery-layer dependency on Pusher Beams and a modest community package; both are bounded, because the integration surface is a single channel class we can replace or fork without product-visible change. Maintenance risk is contained: the package shipped a Laravel 13 compatibility release, so it's being actively kept current, and if it ever stalls we own the fallback (pin, fork, or swap to a direct FCM/APNs channel).
Engineering. This is a thin adapter: config entry, a BeamsChannel, and device interest registration on login/logout. No new queue topology, no new worker fleet — it uses Laravel's existing queue and Notifiable models. 4.4.0 is a compatibility-only release (Laravel 13.x support, no API or config changes), so upgrading from 4.3.0 carries no migration work — but align the package constraint with the Laravel major you deploy. Validate in a one-week spike: multi-device users and interest lifecycle, web push behavior, stale-device cleanup, and failure/retry semantics when Beams is unreachable. If we later need richer payloads or lower per-message cost, the fallback is swapping one class for a direct FCM/APNs channel behind the same via() contract.
How can I help you explore Laravel packages today?