Easy to use push notifications for iOS, Android and Windows
Switch branches/tags
Nothing to show
Clone or download
Latest commit 8a764ab Nov 2, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
api Add support for content-available APNs flag. Mar 8, 2017
controllers Cleaning unused tokens from APNS and GCM Feb 26, 2018
hooks Remove unused imports. It's obvious in PyCharm IDE Oct 18, 2014
pushservices fix(fcm): update fcm endpoint #187 Jul 10, 2018
static fixed with table Jan 21, 2016
templates Add support for content-available APNs flag. Mar 8, 2017
.gitignore Add support for content-available APNs flag. Mar 8, 2017
.travis.yml Travis Ci Aug 23, 2014
ChangeLog Improve logging and logging.ini file Nov 6, 2015
Dockerfile Dockerfile Aug 20, 2016
LICENSE Add LICENSE file Aug 5, 2014
Makefile Travis Ci Aug 23, 2014
README.md Fix typos in README.md Oct 21, 2017
airnotifier.conf-sample fixed https cert keyword Jan 21, 2016
airnotifier.py Cleaning unused tokens from APNS and GCM Feb 26, 2018
constants.py AirNotifier Versioning Mar 1, 2017
docker-compose.yml Update docker-compose.yml Mar 29, 2017
install.py Update copyright footer to current year Feb 28, 2017
logging.ini-sample Issue #122 Improve APNs code Nov 7, 2015
requirements.txt Update requirements.txt Nov 2, 2018
routes.py Issue #0 mostly just coding style clean up May 9, 2013
setup.py Update URLs Jun 30, 2014
start.sh Dockerfile Aug 20, 2016
supervisord.conf-sample Issue #0: Added .gitignore & supervisord.conf Jul 21, 2012
uimodules.py Issue #10, use @route decorator Nov 2, 2012
upgrade.py Fix dbprefix Nov 6, 2015
util.py Basic Python 3.x compatibility Nov 7, 2015

README.md

Introduction

Join the chat at https://gitter.im/airnotifier/airnotifier

AirNotifier is a user friendly yet powerful application server for sending real-time notifications to mobile and desktop applications. AirNotifier provides a unified web service interface to deliver messages to multi devices using multi protocols, it also features a web based administrator UI to configure and manage services.

Supported devices

  • International SMS (uses clickatell, credits required)
  • iPhone/iPad devices (APNS protocol)
  • Android devices (GCM protocol)
  • Windows 7.1/8 phone (MPNS protocol)
  • Windows 8.1 phone (WNS protocol)
  • Windows 8.1 desktop (WNS protocol)

Features

  • Open source application server, you can install on your own server, own your data
  • Subscribe to multi channels
  • Unlimited number of devices and channels
  • API access control
  • Web-based UI to configure
  • Broadcase notifications
  • Access key management
  • Logging activities
  • Apple Feedback API
  • GCM broadcast API

Push notification examples

Sending basic notification to iOS devices

POST /api/v2/push HTTP/1.1
X-AN-APP-NAME: moodlemobileapp
X-AN-APP-KEY: b2b56dbb
Content-Type: application/json
{
    "device": "ios",
    "token": "FE66489F304DC75B8D6E8200DFF8A456E8DAEACEC428B427E9518741C92C6660",
    "alert": "Hello from AirNotifier",
    "sound": "Submarine.aiff",
    "badge": 1
}

SMS

POST /api/v2/push HTTP/1.1
X-AN-APP-NAME: moodlemobileapp
X-AN-APP-KEY: b2b56dbb
Content-Type: application/json
{
    "device": "sms",
    "token": "61412345987 [phone no]",
    "alert": "SMS message goes here"
}

Sending toast type notification to windows 8.1 devices

POST /api/v2/push HTTP/1.1
X-AN-APP-NAME: moodlemobileapp
X-AN-APP-KEY: b2b56dbb
Content-Type: application/json
{
    "device": "wns",
    "token": "https:\/\/sin.notify.windows.com\/?token=AgYAAACDWksZrGbln5sUbP6D3F%2b9ddjptarcZ%2f9vJsDwCt16EHiupJaRddEXJ8BEfx4SE5slxQlB6iknY7zdUEXFayFclNXCIYp6CWnMTYSHGVRySO7aglj6%2b09wTBYqBFxFuoA%3d",
    "alert": "alert contetnt",
    "wns": {
        "type": "toast",
        "template": "ToastImageAndText01",
        "image": ["image1"],
        "text": ["test1"]
    },
    "extra": {
        "processor":"moodle",
        "data":{"key1":"param1 value","key2":"param2 value"}
    }
}

Installation

Please read Installation guide

Configuration

airnotifier.conf is the config file, options:

  • pemdir: The directory storing certificates
  • passwordsalt: passwordsalt
  • masterdb: MongoDB database name
  • appprefix: Prefix added to app database name

Web service documentation

Requirements

Copyright

Copyright (c) Dongsheng Cai and individual contributors