Skip to main content

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.

Source Distribution

Flask-Pushjack-1.0.0.tar.gz (5.6 kB view hashes)

Uploaded Source

Built Distribution

Flask_Pushjack-1.0.0-py2.py3-none-any.whl (6.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page