Flask extension for push notifications on APNS (iOS) and GCM (Android)
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs Update docs. Apr 29, 2015
flask_pushjack
tests Update clients to work with pushjack>=1.0.0. Apr 28, 2015
.gitignore
.travis.yml
AUTHORS.rst Update docs. Apr 29, 2015
CHANGES.rst
CONTRIBUTING.rst
LICENSE.rst Add setup files and docs. Mar 27, 2015
MANIFEST.in
README.rst Update clients to work with pushjack>=1.0.0. Apr 28, 2015
makefile Add setup files and docs. Mar 27, 2015
pylintrc Add setup files and docs. Mar 27, 2015
requirements.txt
setup.cfg
setup.py Add setup files and docs. Mar 27, 2015
tox.ini Add setup files and docs. Mar 27, 2015

README.rst

Flask-Pushjack

version travis coveralls license

Flask extension for push notifications on APNS (iOS) and GCM (Android).

Links

Quickstart

Whether using APNS or GCM, Flask-Pushjack provides an API client for each.

APNS

from flask import Flask
from flask_pushjack import FlaskAPNS

config = {
    'APNS_CERTIFICATE': '<path/to/certificate.pem>'
}

app = Flask(__name__)
app.config.update(config)

client = FlaskAPNS()
client.init_app(app)

with app.app_context():
    token = '<device token>'

    # Send to single device.
    res = client.send(token, alert, **options)

    # List of all tokens sent.
    res.tokens

    # List of any subclassed APNSServerError objects.
    res.errors

    # Dict mapping token => APNSServerError.
    res.token_errors

    # Send to multiple devices.
    client.send([token], alert, **options)

    # Get expired tokens.
    expired_tokens = client.get_expired_tokens()

GCM

from flask import Flask
from flask_pushjack import FlaskGCM

config = {
    'GCM_API_KEY': '<api-key>'
}

app = Flask(__name__)
app.config.update(config)

client = FlaskGCM()
client.init_app(app)

with app.app_context():
    token = '<device token>'

    # Send to single device.
    res = client.send(token, alert, **options)

    # List of requests.Response objects from GCM Server.
    res.responses

    # List of messages sent.
    res.messages

    # List of registration ids sent.
    res.registration_ids

    # List of server response data from GCM.
    res.data

    # List of successful registration ids.
    res.successes

    # List of failed registration ids.
    res.failures

    # List of exceptions.
    res.errors

    # List of canonical ids (registration ids that have changed).
    res.canonical_ids


    # Send to multiple devices.
    client.send([token], alert, **options)

For more details, please see the documentation for pushjack at http://pushjack.readthedocs.org.

Configuration

APNS

APNS_CERTIFICATE File path to certificate PEM file (must be set). Default: None
APNS_ENABLED Whether to enable sending. Default True
APNS_SANDBOX Whether to use sandbox server. Default: False
APNS_DEFAULT_ERROR_TIMEOUT Timeout when polling APNS for error after sending. Default: 10
APNS_DEFAULT_EXPIRATION_OFFSET Message expiration (secs) from now. Default: 2592000 (1 month)
APNS_DEFAULT_BATCH_SIZE Number of notifications to group together when sending.

GCM

GCM_API_KEY API key (must be set). Default: None
GCM_ENABLED Whether to enable sending. Default True