Awesome
HTTP2-compliant wrapper for sending iOS and Android push notifications.
Installation
Add :pigeon
and as a mix.exs
dependency:
def deps do
[
{:pigeon, "~> 2.0"}
]
end
Upgrading from v1.6
See the migration guide for instructions.
Getting Started
Check the module documentation for your push notification service.
- Pigeon.ADM - Amazon Android.
- Pigeon.APNS - Apple iOS.
- Pigeon.FCM - Firebase Cloud Messaging v1 API.
Creating Dynamic Runtime Dispatchers
Pigeon can spin up dynamic dispatchers for a variety of advanced use-cases, such as supporting dozens of dispatcher configurations or custom connection pools.
See Pigeon.Dispatcher for instructions.
Writing a Custom Dispatcher Adapter
Want to write a Pigeon adapter for an unsupported push notification service?
See Pigeon.Adapter for instructions.
Contributing
Testing
Unit tests can be run with mix test
or mix coveralls.html
. Environment variables will need to be set for
various credentials. See config/test.exs
for the full list.
Formatting
This project uses Elixir's mix format
and Prettier for formatting.
Add hooks in your editor of choice to run it after a save. Be sure it respects this project's
.formatter.exs
.
Commits
Git commit subjects use the Karma style.
License
Copyright (c) 2015-2024 Codedge LLC (https://www.codedge.io/)
This library is MIT licensed. See the LICENSE for details.