apantle / laravel-notification-apn-http2
Dependency free Apple Push Notifications provider, configurable for multiple apps
0.1.3
2021-03-02 10:36 UTC
Requires
- php: ^7.2
- ext-curl: *
- ext-json: *
- illuminate/notifications: ^6.0 | ^7.0 | ^8.0
- illuminate/support: ^6.0 | ^7.0 | ^8.0
This package is auto-updated.
Last update: 2025-03-01 00:46:08 UTC
README
This package doesn't require 3rd party dependencies, and it allows sending of pushes to multiple apps, using differente PEM certificates and Apple Bundle Ids.
Installation
You can install the package via composer:
composer require apantle/laravel-notification-apn-http2
Usage
Store your certificates in directory certificates
(sibling to directory app
)
Implement toApn
method in your notification class:
public function toApn($notifiable): ApnHttp2Message { return ApnHttp2Message::create( $this->title, '', $this->message, [ 'customKey' => 'customData', ] ) ->setTopic($notifiable->org->topic) ->setCertificateFile($notifiable->org->ios_cert_push_file) ; }
Implement method routeNotificationForApn()
in your notifiable models,
returning a single device token or an array of tokens:
public function routeNotificationForApn($notification) { return empty($notification->tokens) ? $this->devices->pluck('token') : $notification->tokens; }
Configuration
APN_HTTP2_PRODUCTION=true APN_HTTP2_TOPIC=work.jefrancomix.demo APN_HTTP2_CERTIFICATE=demo.pem APN_HTTP2_CERT_PASSWORD=Aw3$om3!
Credits
License
The MIT License (MIT). Please see License File for more information.
Laravel Package Boilerplate
This package was generated using the Laravel Package Boilerplate.