Notificato alternatives and similar libraries
Based on the "Notifications" category.
Alternatively, view Notificato alternatives based on common mentions on social networks and blogs.
-
Authy Notification Channel for Laravel
@Authy notification channel for @Laravel, with the ability to send in-app, sms, and call verification tokens.
InfluxDB - Purpose built for real-time analytics at any scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Notificato or a related project?
README
Notificato
Notificato takes care of push notifications in your PHP projects.
Italian: notificato è: participio passato English: notified
Why use Notificato instead of X?
Notificato has some advantages not all other PHP push libraries have:
- Supports multiple APNS certificates, so you can push to multiple Apps/Passbook Passes
- Takes excellent care of PHPs buggy SSL-sockets, handles quirks and error responses correctly
- Well tested with unit tests and nice Object-Oriented structure
Installation
Installation with Composer is recommended. Run the require command to add Notificato to your project:
composer require wrep/notificato
Suggestion: There is also a Notificato for Symfony bundle available, highly recommended for Symfony2 & Symfony3 users.
Getting started
- Take a look at the snippet below for a impression how Notificato works
- Read the documentation it will help you with common use cases
- Check out the API docs for a deeper understanding what Notificato is capable of
<?php
// This imports the Composer autoloader
require_once('vendor/autoload.php');
use Wrep\Notificato\Notificato;
class GettingStarted
{
/**
* This example sends one pushnotification with an alert to Apples production push servers
*/
public function sendOnePushNotification()
{
// First we get a Notificato instance and tell it what certificate to use as default certificate
$notificato = new Notificato('./certificate.pem', 'passphrase-to-use');
// Now we get a fresh messagebuilder from Notificato
// This message will be send to device with pushtoken 'fffff...'
// it will automaticly be associated with the default certificate
// and we will set the red badge on the App icon to 1
$message = $notificato->messageBuilder()
->setDeviceToken('ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff')
->setBadge(1)
->build();
// The message is ready, let's send it!
// Be aware that this method is blocking and on failure Notificato will retry if necessary
$messageEnvelope = $notificato->send($message);
// The returned envelope contains usefull information about how many retries where needed and if sending succeeded
echo $messageEnvelope->getFinalStatusDescription();
}
/**
* This example reads all unregistered devices from Apples feedback service
*/
public function readFeedbackService()
{
// First we get the a Notificato instance and tell it what certificate to use as default certificate
$notificato = new Notificato('./certificate.pem', 'passphrase-to-use');
// Now read all "tuples" from the feedback service, be aware that this method is blocking
$tuples = $notificato->receiveFeedback();
// The tuples contain information about what device unregistered and when it did unregister.
// Don't forget to check if the device reregistered after the "invaidated at" date!
foreach ($tuples as $tuple)
{
echo 'Device ' . $tuple->getDeviceToken() . ' invalidated at ' . $tuple->getInvalidatedAt()->format(\DateTime::ISO8601) . PHP_EOL;
}
}
}
$gettingStarted = new GettingStarted();
$gettingStarted->sendOnePushNotification();
$gettingStarted->readFeedbackService();
Contribute
We'll love contributions, read [Contribute.md](Contribute.md) for some more info on what you can do and stuff that you should know if you want to help!
License & Credits
Notificato is released under the [MIT License](License) by Mathijs Kadijk, so feel free to use it in commercial and non-commercial projects.
*Note that all licence references and agreements mentioned in the Notificato README section above
are relevant to that project's source code only.