PHPackages                             apantle/laravel-notification-apn-http2 - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. apantle/laravel-notification-apn-http2

ActiveLibrary

apantle/laravel-notification-apn-http2
======================================

Dependency free Apple Push Notifications provider, configurable for multiple apps

0.1.3(5y ago)0614[1 issues](https://github.com/tzkmx/http2-apple-laravel-notification/issues)MITPHPPHP ^7.2

Since Jul 30Pushed 5y agoCompare

[ Source](https://github.com/tzkmx/http2-apple-laravel-notification)[ Packagist](https://packagist.org/packages/apantle/laravel-notification-apn-http2)[ Docs](https://github.com/tzkmx/http2-apple-laravel-notification)[ RSS](/packages/apantle-laravel-notification-apn-http2/feed)WikiDiscussions master Synced yesterday

READMEChangelog (1)Dependencies (2)Versions (6)Used By (0)

Dependency free Apple Push Notifications for Laravel
====================================================

[](#dependency-free-apple-push-notifications-for-laravel)

[![Latest Version on Packagist](https://camo.githubusercontent.com/5ae149e62c218df375689cba3158fb52fc13d9572bbdc09c80a7abead569bbbf/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6170616e746c652f6c61726176656c2d6e6f74696669636174696f6e2d61706e2d68747470322e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/apantle/laravel-notification-apn-http2)[![Maintainability](https://camo.githubusercontent.com/f3b6a9a5a70de463a2d1b89f584aeaf8fdac503e3ee13a10c6a4fd77b76717ef/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f63393431336366363335353833333765386533372f6d61696e7461696e6162696c697479)](https://codeclimate.com/github/tzkmx/http2-apple-laravel-notification/maintainability)[![Build Status](https://camo.githubusercontent.com/180835dd8c81d633287a4ccc9ae2eb87f61f4459de19e7c19a59ddfd59cb1f6c/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f6170616e746c652f6c61726176656c2d6e6f74696669636174696f6e2d61706e2d68747470322f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/apantle/laravel-notification-apn-http2)[![Total Downloads](https://camo.githubusercontent.com/1e912427f124899ad27c3a8dff4cb22c669a6b2fa0e0d19b17ca7bc4484c82d4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6170616e746c652f6c61726176656c2d6e6f74696669636174696f6e2d61706e2d68747470322e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/apantle/laravel-notification-apn-http2)[![Test Coverage](https://camo.githubusercontent.com/21cf63911f868817a31c4f3dae4f1462414eaf168060ca5ea98b63d18ed91f9c/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f63393431336366363335353833333765386533372f746573745f636f766572616765)](https://codeclimate.com/github/tzkmx/http2-apple-laravel-notification/test_coverage)

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
------------

[](#installation)

You can install the package via composer:

```
composer require apantle/laravel-notification-apn-http2
```

Usage
-----

[](#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

[](#configuration)

```
APN_HTTP2_PRODUCTION=true
APN_HTTP2_TOPIC=work.jefrancomix.demo
APN_HTTP2_CERTIFICATE=demo.pem
APN_HTTP2_CERT_PASSWORD=Aw3$om3!
```

Credits
-------

[](#credits)

- [Jesus Franco](https://github.com/apantle)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

Laravel Package Boilerplate
---------------------------

[](#laravel-package-boilerplate)

This package was generated using the [Laravel Package Boilerplate](https://laravelpackageboilerplate.com).

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 91.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~71 days

Total

4

Last Release

1897d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2f01afc6e15ca1ba483cc1773c5f5d1b6c5f5fa98e0fe224ae8410048eb84041?d=identicon)[jefrancomix](/maintainers/jefrancomix)

---

Top Contributors

[![tezcatl](https://avatars.githubusercontent.com/u/188753?v=4)](https://github.com/tezcatl "tezcatl (11 commits)")[![tzkmx](https://avatars.githubusercontent.com/u/11432557?v=4)](https://github.com/tzkmx "tzkmx (1 commits)")

---

Tags

notificationsapantleapple-push-notification

### Embed Badge

![Health badge](/badges/apantle-laravel-notification-apn-http2/health.svg)

```
[![Health](https://phpackages.com/badges/apantle-laravel-notification-apn-http2/health.svg)](https://phpackages.com/packages/apantle-laravel-notification-apn-http2)
```

###  Alternatives

[laravel/slack-notification-channel

Slack Notification Channel for laravel.

89069.7M111](/packages/laravel-slack-notification-channel)[laravel-notification-channels/pusher-push-notifications

Pusher native Push Notifications driver.

282733.2k1](/packages/laravel-notification-channels-pusher-push-notifications)[laravel/vonage-notification-channel

Vonage Notification Channel for laravel.

7542.9M18](/packages/laravel-vonage-notification-channel)[thomasjohnkane/snooze

Schedule future notifications and reminders in Laravel

9321.5M2](/packages/thomasjohnkane-snooze)[benwilkins/laravel-fcm-notification

Laravel FCM (Firebase Cloud Messaging) Notification Channel

210964.1k1](/packages/benwilkins-laravel-fcm-notification)[laravel-notification-channels/smsc-ru

SmscRu Notifications channel for Laravel 5.3.

51192.8k](/packages/laravel-notification-channels-smsc-ru)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
