All Projects → dgilland → Flask Pushjack

dgilland / Flask Pushjack

Licence: other
Flask extension for push notifications on APNS (iOS) and GCM (Android)

Programming Languages

python
139335 projects - #7 most used programming language

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

.. code-block:: python

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

.. code-block:: python

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 ====================== ===

.. |version| image:: http://img.shields.io/pypi/v/flask-pushjack.svg?style=flat-square :target: https://pypi.python.org/pypi/flask-pushjack/

.. |travis| image:: http://img.shields.io/travis/dgilland/flask-pushjack/master.svg?style=flat-square :target: https://travis-ci.org/dgilland/flask-pushjack

.. |coveralls| image:: http://img.shields.io/coveralls/dgilland/flask-pushjack/master.svg?style=flat-square :target: https://coveralls.io/r/dgilland/flask-pushjack

.. |license| image:: http://img.shields.io/pypi/l/flask-pushjack.svg?style=flat-square :target: https://pypi.python.org/pypi/flask-pushjack/

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].