push-notifications alternatives and similar packages
Based on the "Networking" category.
Alternatively, view push-notifications alternatives based on common mentions on social networks and blogs.
-
snap-core
Core type definitions (Snap monad, HTTP types, etc) and utilities for web handlers. -
websockets
A Haskell library for creating WebSocket-capable servers -
call-haskell-from-anything
Call Haskell functions from any programming language via serialization and dynamic libraries -
snap-server
A fast HTTP server library, which runs Snap web handlers. -
PortFusion
Haskell-powered cross-platform transport-layer distributed reverse / forward proxy & tunneling solution – currently available for all TCP protocols (RDP, VNC, HTTP(S), SSH, ...). -
discord-haskell
Haskell library for writing Discord bots -
io-streams
Simple, composable, and easy-to-use stream I/O for Haskell -
network-transport-zeromq
ZeroMQ transport for distributed-process (aka Cloud Haskell) -
HaskellNet
Haskell library which provides client support for POP3, SMTP, and IMAP protocols. -
glirc
Haskell IRC library and console client - Join us on libera.chat #glirc -
http-streams
Haskell HTTP client library for use with io-streams -
graphula
A simple interface for generating persistent data and linking its dependencies -
http-types
Generic HTTP types for Haskell (for both client and server code) -
ngx-export
Nginx module for binding Haskell code in configuration files for great good! -
secure-sockets
A library for making secure connections between servers. -
network-transport-tcp
TCP Realisation of Network.Transport -
linklater
A Haskell library for the Slack API (including real-time messaging!) -
websockets-snap
Snap integration for the websockets library -
http-client-streams
http-client for io-streams supporting openssl
Access the most powerful time series database as a service
* 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 push-notifications or a related project?
README
push-notifications
Server-side push messaging from Haskell to various platforms (currently supporting iOS and Android).
Android
Push notifications to android devices are sent via Google's Firebase service. To send push notifications via Firebase, you'll need to create a project and acquire a "server key."
To get your server key, go to the Firebase console and create or open a project. On the project settings page, there is a "Cloud Messaging" section. On that page you should be able to retrieve or create a "server key."
The server key should be passed to Network.PushNotification.Android.sendAndroidPushMessage
.
To construct an android push message payload, have a look at Network.PushNotification.Android.Payload
which provides a haskell datatype and JSON instances for Firebase Cloud Messaging payloads (as documented here).
IOS
Sending push notifications requires an "Apple Push Services" certificate and an Apple-provided device token.
Getting an APS Certificate
The APS certificate is produced in the iOS Provisioning Portal. Once you've generated the certificate, you can download it from the Provisioning Portal. It is usually named aps_production.cer
or aps_development.cer
.
The private key for the certificate can be extracted from Apple's Keychain utility as a .p12
file.
Once you have both the certificate and private key, the following commands can be used to convert the certificate and private key files into the format required by this library.
openssl x509 -in aps_development.cer -inform DER -outform PEM -out cert.pem
openssl pkcs12 -in key.p12 -out key.pem -nodes
Getting a Device Token
Device tokens are retrieved on the device itself by calling the @[email protected] method of the @[email protected] object.
For more information, please see Apple's documentation.
Credits
Originally based on a blog post by Teemu Ikonen, available here and packaged by David Fendrich as the "phone-push" library on hackage. That library was forked and updated and, eventually, became this one.