Download the PHP package origami/push without Composer
On this page you can find all versions of the php package origami/push. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package push
Origami Push - Laravel Push Notifications
This package adds a push notification channel for notifications in Laravel 6 or greater projects.
For more on notification channels, visit https://laravel.com/docs/8.x/notifications
Installation
Install this package through Composer.
Requirements
This package is designed to work with Laravel >= 6.
Configuration
There are some API configuration options that you’ll want to overwrite. First, publish the default configuration.
This will add a new configuration file to: config/push.php
.
APNs
Version 4+ of this package uses edamov/pushok for the APNs transport and logic. You should add the following to your .env file to setup the required config, or see the edamov/pushok readme for Certificate (.pem) options.
The default private key location is storage/certificates/apns.p8
FCM
Version 5 of this package uses the FCM HTTP v1 API and the origami/google-auth package to get oAuth tokens from service account credentials.
First set the project ID from your Firebase console:
Then generate and download your service account JSON file to generate oAuth access tokens.
- In the Firebase console, open Settings > Service Accounts.
- Click Generate New Private Key, then confirm by clicking Generate Key.
- Securely store the JSON file containing the key at:
storage/app/google-auth/service-account-credentials.json
If you want to change the loaded path you can set the GOOGLE_AUTH_SERVICE_CREDENTIALS
environment variable, or to change other settings you can publish the google-auth config: php artisan vendor:publish --provider="Origami\GoogleAuth\GoogleAuthServiceProvider"
Usage
Device Eloquent Model
You will most likely be storing devices in your database using an Eloquent model, e.g. App\Device
.
To have that work with this package, you just need to make sure it implements the Origami\Push\Contracts\Device
interface.
Next, you need to add two methods to get the service - either apns
for iOS or fcm
for Firebase Cloud Messaging - and the device identifier.
User Notifiable Devices
In a Laravel project, you're most likely to send a push notification to your users. See the Laravel Docs for more information.
To get your User's devices, assuming you are using an Eloquent model above, you would just add a routeNotificationForPush
method to your Eloquent model.
Examples
Notification Class
Standalone
Versions
- v5.* - Version 5 is a breaking change that updates the config and drivers for fcm to use the new HTTP v1 API and service account credentials / oAuth.
- v4.* - Version 4 is a breaking change that updates the config and drivers for apns and fcm.
- v3.* - Version 3 bumps the Laravel support to include 6, 7 and 8 projects. Laravel 5.x dropped.
- v2.* - Version 2 is a rewrite of the package to work with Laravel 5.3 notifications or standalone
- v1.-* - Version 1 did not integrate with the notifications service of Laravel
Author
License
All versions of push with dependencies
ext-curl Version *
ext-json Version *
edamov/pushok Version ^0.12.0
guzzlehttp/guzzle Version ^6.2|^7.0
illuminate/cache Version ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
illuminate/contracts Version ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
illuminate/notifications Version ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
illuminate/support Version ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0