/airnotifier

Easy to use push notifications for iOS, Android and Windows

Primary LanguagePythonOtherNOASSERTION

Introduction

AirNotifier is an user friendly yet powerful application server for sending real-time notifications to mobile and desktop applications. AirNotifier provides an 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
  • dbprefix: MongoDB collection name prefix, this will be used to create object data collection

Web service documentation

Requirements

Copyright

Copyright (c) Dongsheng Cai and individual contributors