PHPackages                             dev1/notify-core - 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. [Mail &amp; Notifications](/categories/mail)
4. /
5. dev1/notify-core

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

dev1/notify-core
================

Driver-agnostic notifications core.

1.1.2(7mo ago)0271MITPHPPHP &gt;=7.4 &lt;8.5

Since Sep 19Pushed 7mo agoCompare

[ Source](https://github.com/DEV1-Softworks/notify-core)[ Packagist](https://packagist.org/packages/dev1/notify-core)[ Docs](https://github.com/DEV1-Softworks/notify-core)[ RSS](/packages/dev1-notify-core/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (6)Versions (5)Used By (1)

DEV1 Notify Core
================

[](#dev1-notify-core)

Driver-agnostic notifications core for PHP (starting with Firebase Cloud Messaging HTTP v1).
Built in Mexico by **DEV1 Softworks Labs**

[![License: MIT](https://camo.githubusercontent.com/08cef40a9105b6526ca22088bc514fbfdbc9aac1ddbf8d4e6c750e3a88a44dca/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d626c75652e737667)](LICENSE) [![Version: 1.1](https://camo.githubusercontent.com/690f45ded521681d407f3cee4661806de15c7be443ea87abbbb3a35bce11d58d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f76657273696f6e2d312e312d677265656e2e737667)](#)

---

Features
--------

[](#features)

- PSR-18 / PSR-17 compatible (agnostic HTTP client)
- Token provider via Google Service Account (JWT → OAuth2)
- Send push notifications with **Firebase Cloud Messaging (HTTP v1)**
- Extensible: future drivers (Twilio, OneSignal, APNs, etc.)
- Registry to manage multiple clients by name

---

Installation
------------

[](#installation)

Require the library (PHP 7.4+):

```
composer require dev1/notify-core
```

For development and examples, you’ll need a PSR-18 client and PSR-17 factories.
We recommend:

```
composer require nyholm/psr7 symfony/http-client --dev
```

---

Usage Example
-------------

[](#usage-example)

```
use Dev1\NotifyCore\Auth\GoogleServiceAccountTokenProvider;
use Dev1\NotifyCore\DTO\{PushMessage, PushTarget};
use Dev1\NotifyCore\Factory\FcmClientFactory;
use Dev1\NotifyCore\Registry\ClientRegistry;
use Nyholm\Psr7\Factory\Psr17Factory;
use Symfony\Component\HttpClient\Psr18Client;

// Load Google Service Account JSON
$sa = json_decode(file_get_contents('service-account.json'), true);

// PSR factories
$psr17 = new Psr17Factory();
$http  = new Psr18Client();

// Token provider
$tokenProvider = new GoogleServiceAccountTokenProvider(
    $http,
    $psr17,
    $psr17,
    null,
    [
        'client_email' => $sa['client_email'],
        'private_key'  => $sa['private_key'],
    ]
);

// Create FCM client
$fcmClient = FcmClientFactory::create(
    $http,
    $psr17,
    $psr17,
    $tokenProvider,
    null,
    ['project_id' => 'your-project-id']
);

// Registry
$registry = new ClientRegistry();
$registry->register('fcm', $fcmClient, true);

// Message
$message = new PushMessage(
    'Hello from DEV1 Notify',
    'This is a test notification',
    ['foo' => 'bar']
);
$target = new PushTarget('DEVICE_TOKEN');

// Send
$result = $registry->client()->send($message, $target);

var_dump($result);
```

---

Requirements
------------

[](#requirements)

- PHP ^7.4
- ext-openssl
- A Firebase Project with a Service Account JSON (Legacy FCM is not compatible)

---

Roadmap
-------

[](#roadmap)

- Add more drivers (Twilio Notify, OneSignal, APNs)
- Laravel adapter (`dev1/laravel-notify`)
- Symfony bundle (`dev1/symfony-notify-bundle`)
- Unit tests &amp; CI
- Advanced platform overrides (Android/APNs)

---

License
-------

[](#license)

MIT License © DEV1 Softworks Labs

---

Contributing
------------

[](#contributing)

We welcome contributions from the community! To get started:

1. Fork the repository and create a new branch for your changes.
2. Follow the existing code style and add tests where appropriate.
3. Open a pull request describing your changes and the motivation behind them.
4. Check the issues tab for open tasks or suggest new features.

If you have questions or need guidance, please open an issue or start a discussion. Thank you for considering contributing to DEV1 Notify Core!

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance62

Regular maintenance activity

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~1 days

Total

4

Last Release

237d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a89dbe82e4d323791e27d41b5741e71d3ad4113a6cec6f7bf3ed3b4a537a766e?d=identicon)[rzerostern](/maintainers/rzerostern)

---

Top Contributors

[![RZEROSTERN](https://avatars.githubusercontent.com/u/3065243?v=4)](https://github.com/RZEROSTERN "RZEROSTERN (10 commits)")

---

Tags

phppushnotificationscoreFCMdev1

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/dev1-notify-core/health.svg)

```
[![Health](https://phpackages.com/badges/dev1-notify-core/health.svg)](https://phpackages.com/packages/dev1-notify-core)
```

###  Alternatives

[paragraph1/php-fcm

PHP application server for google firebase cloud messaging (FCM)

1991.2M10](/packages/paragraph1-php-fcm)[bentools/webpush-bundle

Send push notifications through Web Push Protocol to your Symfony users.

71274.3k](/packages/bentools-webpush-bundle)[redjanym/php-firebase-cloud-messaging

PHP SDK for Firebase Cloud Messaging from Google

39847.9k1](/packages/redjanym-php-firebase-cloud-messaging)[redjanym/fcm-bundle

A Symfony Bundle for projects to send notifications in mobile devices through Firebase Cloud Messaging HTTP V1 API

43453.0k](/packages/redjanym-fcm-bundle)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[kedniko/firebase-cloud-messaging-http-v1-php

Firebase cloud messaging http v1 php

124.8k](/packages/kedniko-firebase-cloud-messaging-http-v1-php)

PHPackages © 2026

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