HTTP2-compliant wrapper for sending iOS and Android push notifications.
Pigeon v2.0 is in release candidate status. See the latest stable 1.6 on Hex or the 1.6 branch on GitHub for installation.
Installation
Add :pigeon
and as a mix.exs
dependency:
def deps do
[
{:pigeon, "~> 2.0.0-rc.1"}
]
end
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.
- Pigeon.LegacyFCM - Firebase Cloud Messaging Legacy 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-2023 Codedge LLC (https://www.codedge.io/)
This library is MIT licensed. See the LICENSE for details.