- How do I install edujugon/push-notification in a Laravel app?
- Install it with Composer using composer require edujugon/push-notification, then publish the package config file with the vendor:publish command. The package registers its ServiceProvider and PushNotification facade automatically via Laravel package discovery. After publishing, populate your Firebase and APNs credentials in the config or environment and you can start sending through the facade. Setup is typically a matter of hours for a single platform.
- Does edujugon/push-notification use FCM HTTP v1 or the retired GCM legacy API?
- This is the first thing to verify before adopting the package, because GCM was shut down in 2019 and legacy endpoints are a dead end for new work. The 2025-05-18 release is a positive signal but the README does not guarantee which FCM transport is used. Inspect the source or send a test message against a real Firebase project to confirm it targets FCM HTTP v1 with service account credentials. If it only supports legacy GCM paths, treat it as unsuitable for greenfield integrations.
- Which APNs authentication mode does the package support, token-based .p8 keys or legacy certificates?
- Apple has deprecated the legacy binary protocol in favor of HTTP/2 with token-based .p8 authentication, so confirm the package implements the modern path. The abstraction is thin, meaning APNs-specific behavior such as token auth nuances or payload validation depends on what the maintainer exposed. Test against the APNs sandbox with a real .p8 key before committing. If only certificate-based or legacy binary sending is supported, plan for a fork or an alternative.
- Which Laravel and PHP versions are supported by edujugon/push-notification?
- Check the composer.json constraints and the CI matrix in the repository, since the package page itself does not enumerate a tested version matrix. Confirm the tested versions include the Laravel and PHP versions your target application actually runs. Because downstream adoption is minimal, untested version combinations are less likely to have been exercised by other users. Pin the package version and run your own smoke test on upgrade.
- Can I configure multiple Firebase projects or apps with this package?
- Yes, the package ships a publishable config file that lets you define multiple app configurations and select which one to send through. This is useful when you have separate iOS and Android apps or per-environment Firebase projects. Keep credentials out of version control by loading service account JSON and .p8 keys from environment variables or a secrets manager. Leakage risk sits with your integration, not the package.
- How do I send a push notification to Android and iOS devices with the PushNotification facade?
- You set the service, build the message payload, assign device tokens, and call send through the PushNotification facade. Android and iOS are handled as separate services because FCM and APNs have materially different payload semantics, so a dual-platform integration means two send paths, not one. Budget days rather than hours for a full dual-platform rollout with test devices. Wrap the facade in your own PushGateway interface so the package stays swappable.
- Does edujugon/push-notification support queued sending, retries, and partial failure inspection?
- The package is queue-friendly in the sense that you can call it from a Laravel job, but there is no documented built-in batching, backoff retry, or per-token result inspection. Expect to build retry logic, logging, and token feedback handling yourself around the facade. Ask the maintainer directly whether partial failure results are returned per device token. For high-volume sending, design your own job pipeline rather than relying on the package for orchestration.
- How do I detect and prune invalid or expired device tokens?
- Invalid token feedback depends on what the package surfaces from the provider responses, and there is no documented token lifecycle management. In practice you should capture send results, log provider errors, and mark tokens as stale in your own database. Build a pruning job that removes tokens after repeated failures. Treat token hygiene as application responsibility, not a package feature.
- Is edujugon/push-notification safe to run in production given it is a single-maintainer package?
- It is a small, MIT-licensed, forkable codebase with roughly 487 stars but effectively no dependent packages, which means slower bug discovery and less-trodden upgrade paths. There is no SLA, so continuity risk sits on your team. Mitigate by pinning the version, wrapping the facade behind an internal interface, and monitoring the repository for issue responsiveness. If push delivery is on your critical path, keep a tested fallback implementation ready.
- What are the alternatives to edujugon/push-notification for Laravel push notifications?
- Common alternatives include laravel-notification-channels/fcm and apns for a channel-based approach, kreait/firebase-php for direct Firebase Admin SDK access, or calling the FCM HTTP v1 and APNs HTTP/2 APIs yourself. If you already standardized on a notification abstraction or a vendor push platform, adding this package creates a competing pathway rather than an upgrade. Moving from laravel-notification-channels to this package is a lateral move, not an improvement, because payload models and error surfaces differ. Migrate behind an internal interface and cut over per platform with a feature flag.