Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

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

Project description

version travis coveralls license

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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for Flask-Pushjack, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size Flask_Pushjack-1.0.0-py2.py3-none-any.whl (6.7 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size Flask-Pushjack-1.0.0.tar.gz (5.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page