{"id":13624114,"url":"https://github.com/mac-cain13/notificato","last_synced_at":"2025-10-15T06:30:34.706Z","repository":{"id":7164306,"uuid":"8464576","full_name":"mac-cain13/notificato","owner":"mac-cain13","description":"Takes care of Apple push notifications (APNS) in your PHP projects.","archived":false,"fork":false,"pushed_at":"2020-02-18T17:17:22.000Z","size":612,"stargazers_count":226,"open_issues_count":5,"forks_count":44,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-04-12T21:33:27.380Z","etag":null,"topics":["apple","ios","php","push-notifications","symfony"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mac-cain13.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"License","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-02-27T20:24:25.000Z","updated_at":"2024-01-17T15:48:53.000Z","dependencies_parsed_at":"2022-08-19T15:20:15.348Z","dependency_job_id":null,"html_url":"https://github.com/mac-cain13/notificato","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mac-cain13%2Fnotificato","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mac-cain13%2Fnotificato/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mac-cain13%2Fnotificato/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mac-cain13%2Fnotificato/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mac-cain13","download_url":"https://codeload.github.com/mac-cain13/notificato/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236582746,"owners_count":19172434,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apple","ios","php","push-notifications","symfony"],"created_at":"2024-08-01T21:01:38.925Z","updated_at":"2025-10-15T06:30:29.382Z","avatar_url":"https://github.com/mac-cain13.png","language":"PHP","funding_links":[],"categories":["通知 Notifications","目录","Table of Contents","PHP"],"sub_categories":["通知 Notifications","Notifications","Globalization"],"readme":"# Notificato [![Build Status of Master](https://travis-ci.org/mac-cain13/notificato.png?branch=master)](https://travis-ci.org/mac-cain13/notificato)\n**Notificato takes care of push notifications in your PHP projects.**\n\n\u003e *Italian:* **notificato** è: participio passato *English:* **notified**\n\n## Why use Notificato instead of X?\nNotificato has some advantages not all other PHP push libraries have:\n\n1. Supports multiple APNS certificates, so you can push to multiple Apps/Passbook Passes\n2. Takes excellent care of PHPs buggy SSL-sockets, handles quirks and error responses correctly\n3. Well tested with unit tests and nice Object-Oriented structure\n\n## Installation\nInstallation with [Composer](http://getcomposer.org) is recommended. Run the require command to add Notificato to your project:\n\n`composer require wrep/notificato`\n\n*Suggestion:*\nThere is also a [Notificato for Symfony bundle](https://github.com/rickpastoor/notificato-symfony) available, highly recommended for Symfony2 \u0026 Symfony3 users.\n\n## Getting started\n1. Take a look at the snippet below for a impression how Notificato works\n2. [Read the documentation](/doc/Readme.md) it will help you with common use cases\n3. Check out the [API docs](http://mac-cain13.github.io/notificato/master/) for a deeper understanding what Notificato is capable of\n\n```php\n\u003c?php\n// This imports the Composer autoloader\nrequire_once('vendor/autoload.php');\n\nuse Wrep\\Notificato\\Notificato;\n\nclass GettingStarted\n{\n\t/**\n\t * This example sends one pushnotification with an alert to Apples production push servers\n\t */\n\tpublic function sendOnePushNotification()\n\t{\n\t\t// First we get a Notificato instance and tell it what certificate to use as default certificate\n\t\t$notificato = new Notificato('./certificate.pem', 'passphrase-to-use');\n\n\t\t// Now we get a fresh messagebuilder from Notificato\n\t\t//  This message will be send to device with pushtoken 'fffff...'\n\t\t//  it will automaticly be associated with the default certificate\n\t\t//  and we will set the red badge on the App icon to 1\n\t\t$message = $notificato-\u003emessageBuilder()\n\t\t\t\t\t\t\t\t-\u003esetDeviceToken('ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff')\n\t\t\t\t\t\t\t\t-\u003esetBadge(1)\n\t\t\t\t\t\t\t\t-\u003ebuild();\n\n\t\t// The message is ready, let's send it!\n\t\t//  Be aware that this method is blocking and on failure Notificato will retry if necessary\n\t\t$messageEnvelope = $notificato-\u003esend($message);\n\n\t\t// The returned envelope contains usefull information about how many retries where needed and if sending succeeded\n\t\techo $messageEnvelope-\u003egetFinalStatusDescription();\n\t}\n\n\t/**\n\t * This example reads all unregistered devices from Apples feedback service\n\t */\n\tpublic function readFeedbackService()\n\t{\n\t\t// First we get the a Notificato instance and tell it what certificate to use as default certificate\n\t\t$notificato = new Notificato('./certificate.pem', 'passphrase-to-use');\n\n\t\t// Now read all \"tuples\" from the feedback service, be aware that this method is blocking\n\t\t$tuples = $notificato-\u003ereceiveFeedback();\n\n\t\t// The tuples contain information about what device unregistered and when it did unregister.\n\t\t//  Don't forget to check if the device reregistered after the \"invaidated at\" date!\n\t\tforeach ($tuples as $tuple)\n\t\t{\n\t\t\techo 'Device ' . $tuple-\u003egetDeviceToken() . ' invalidated at ' . $tuple-\u003egetInvalidatedAt()-\u003eformat(\\DateTime::ISO8601) . PHP_EOL;\n\t\t}\n\t}\n}\n\n$gettingStarted = new GettingStarted();\n$gettingStarted-\u003esendOnePushNotification();\n$gettingStarted-\u003ereadFeedbackService();\n```\n\n## Contribute\nWe'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!\n\n## License \u0026 Credits\nNotificato is released under the [MIT License](License) by [Mathijs Kadijk](https://github.com/mac-cain13), so feel free to use it in commercial and non-commercial projects.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmac-cain13%2Fnotificato","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmac-cain13%2Fnotificato","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmac-cain13%2Fnotificato/lists"}