All Projects → vkatsuba → epns

vkatsuba / epns

Licence: MIT license
📱 Erlang Push Notifications. APNS(Apple Push Notifications) and FCM(Firebase Cloud Messaging) Push Notifications

Programming Languages

erlang
1774 projects

Projects that are alternatives of or similar to epns

MongoosePush
MongoosePush is a simple Elixir RESTful service allowing to send push notification via FCM and/or APNS.
Stars: ✭ 101 (+676.92%)
Mutual labels:  apns, gcm, fcm, push
andpush
Android Push Notification in Ruby: The fastest client for FCM (Firebase Cloud Messaging)
Stars: ✭ 83 (+538.46%)
Mutual labels:  gcm, fcm, push
Uniqush Push
Uniqush is a free and open source software system which provides a unified push service for server side notification to apps on mobile devices.
Stars: ✭ 1,238 (+9423.08%)
Mutual labels:  apns, gcm, fcm
OneSignal-Ionic-Sample
No description or website provided.
Stars: ✭ 85 (+553.85%)
Mutual labels:  apns, gcm, fcm
Notificationpusher
Standalone PHP library for easy devices notifications push.
Stars: ✭ 1,143 (+8692.31%)
Mutual labels:  apns, gcm, push
PUSHTestFCM
[FireMonkey] Push test project
Stars: ✭ 17 (+30.77%)
Mutual labels:  apns, gcm, fcm
Onesignal Ionic Example
Stars: ✭ 89 (+584.62%)
Mutual labels:  apns, gcm, fcm
Django Push Notifications
Send push notifications to mobile devices through GCM or APNS in Django.
Stars: ✭ 1,881 (+14369.23%)
Mutual labels:  apns, gcm, fcm
Pushnotification
PHP and Laravel Package to send push notifications to Android and IOS devices.
Stars: ✭ 395 (+2938.46%)
Mutual labels:  apns, gcm, fcm
azure-notificationhubs-java-backend
Azure Notification Hubs SDK for Java
Stars: ✭ 31 (+138.46%)
Mutual labels:  apns, gcm, fcm
Node Pushnotifications
Push notifications for GCM, APNS, MPNS, AMZ (automatic detection from device token)
Stars: ✭ 432 (+3223.08%)
Mutual labels:  apns, gcm, fcm
Onesignal Cordova Sdk
OneSignal is a free push notification service for mobile apps. This plugin makes it easy to integrate your Ionic, PhoneGap CLI, PhoneGap Build, Cordova, or Sencha Touch app with OneSignal. Supports Android, iOS, and Amazon's Fire OS platforms. https://onesignal.com
Stars: ✭ 214 (+1546.15%)
Mutual labels:  apns, gcm, fcm
Gaurun
General push notification server in Go
Stars: ✭ 804 (+6084.62%)
Mutual labels:  apns, gcm
Gorush
A push notification server written in Go (Golang).
Stars: ✭ 5,933 (+45538.46%)
Mutual labels:  apns, gcm
ejabberd mod gcm
Google Cloud Messaging API for Ejabberd (PUSH Messages)
Stars: ✭ 27 (+107.69%)
Mutual labels:  gcm, push
Socket.io Push
整合了小米,华为,友盟,谷歌,苹果推送的统一解决方案
Stars: ✭ 605 (+4553.85%)
Mutual labels:  apns, push
php-gcm-apns
A PHP Library for sending messages to devices (Android & IOS) through GCM and Apns respectively .
Stars: ✭ 13 (+0%)
Mutual labels:  apns, gcm
Airnotifier
Push Notifications Server for Human Beings.
Stars: ✭ 522 (+3915.38%)
Mutual labels:  apns, fcm
Net Core Push Notifications
Lightweight .NET Core Push Notifications for Android and iOS
Stars: ✭ 105 (+707.69%)
Mutual labels:  apns, fcm
Light Push
轻量级推送服务和实时在线监控平台,同时用于开发即时通信系统,基于node的socket.io,支持web、android、ios客户端,支持移动端离线推送,可进行分布式部署
Stars: ✭ 128 (+884.62%)
Mutual labels:  apns, push

Erlang Push Notifications - epns

epns is Erlang Push Notifications. This is a small client library for sending FCM/GCM/APNS Push Notifications

Hex.pm Version

Goals

epns(Erlang Push Notifications) library aims to provide a simple way for push FCM/GCM/APNS notifications.

Documentation

Build & Run

$ git clone https://github.com/vkatsuba/shot.git
$ cd shot
$ wget https://s3.amazonaws.com/rebar3/rebar3
$ chmod u+x ./rebar3
$ ./rebar3 shell

Run dialyzer

$ ./rebar3 dialyzer

Run xref

$ ./rebar3 do xref

Clean epns

$ ./rebar3 clean

Add epns to project: Rebar3

  • Edit file rebar.config:
{deps, [
    {epns, "1.1.0"},
]}.

Send Push Notifications

Send FCM by Erlang

%%% Useful links:
%%%  * https://firebase.google.com/docs/cloud-messaging/http-server-ref
%%%  * https://developer.clevertap.com/docs/find-your-fcm-sender-id-fcm-server-api-key

FCMData = #{
    key => "TheFcmServerApiKey",
    url => "https://fcm.googleapis.com/fcm/send",
    playload => #{
        to => <<"GoogleUserToken">>,
        priority => <<"high">>,
        data => #{
            <<"title">> => <<"Some Title">>,
            <<"some_custom_field">> => true
        }
    }
}.

epns:push(fcm, FCMData).

Send APNS by Erlang

%%% Useful links:
%%%  * https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html
%%%  * https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/BinaryProviderAPI.html
%%%  * https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/LegacyNotificationFormat.html

APNSData = #{
    cert => "/full/patch/to/cert.pem",
    key => "/full/patch/to/key.key",
    url => "gateway.push.apple.com",
    token => <<"VoipTokenOfUserDevice">>,
    playload => #{
        aps => #{alert => <<"Some Title Of Alert APNS">>},
        data => #{
            <<"title">> => <<"Some Title">>,
            <<"custom_field">> => <<"some_data">>
        }
    }
}.

epns:push(apns, APNSData).

Support

[email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].