Push notifications for APNS (iOS) and GCM (Android).
Project description
Push notifications for APNS (iOS) and GCM (Android).
Links
Project: https://github.com/dgilland/pushjack
Documentation: http://pushjack.readthedocs.org
TravisCI: https://travis-ci.org/dgilland/pushjack
Quickstart
Install using pip:
pip install pushjack
Whether using APNS or GCM, pushjack provides clients for each.
APNS
Send notifications using the APNSClient class:
from pushjack import APNSClient
client = APNSClient(certificate='<path/to/certificate.pem>',
default_error_timeout=10,
default_expiration_offset=2592000,
default_batch_size=100)
token = '<device token>'
alert = 'Hello world.'
# Send to single device.
# Keyword arguments are optional.
res = client.send(token,
alert,
badge='badge count',
sound='sound to play',
category='category',
content_available=True,
title='Title',
title_loc_key='t_loc_key',
title_loc_args='t_loc_args',
action_loc_key='a_loc_key',
loc_key='loc_key',
launch_image='path/to/image.jpg',
extra={'custom': 'data'})
# 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 by passing a list of tokens.
client.send([token], alert, **options)
# Override defaults for error_timeout, expiration_offset, and batch_size.
client.send(token,
alert,
expiration=int(time.time() + 604800),
error_timeout=5,
batch_size=200)
# Get expired tokens.
expired_tokens = client.get_expired_tokens()
# Close APNS connection
client.close()
For the APNS sandbox, use APNSSandboxClient instead:
from pushjack import APNSSandboxClient
GCM
Send notifications using the GCMClient class:
from pushjack import GCMClient
client = GCMClient(api_key='<api-key>')
registration_id = '<registration id>'
alert = 'Hello world.'
# Send to single device.
# Keyword arguments are optional.
res = client.send(registration_id,
data,
collapse_key='collapse_key',
delay_while_idle=True,
time_to_live=604800)
# 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 by passing a list of ids.
client.send([registration_id], alert, **options)
For more details, please see the full documentation at http://pushjack.readthedocs.org.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pushjack-1.0.1.tar.gz
(18.1 kB
view hashes)
Built Distribution
Close
Hashes for pushjack-1.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c18cc9566d09de4e2a03c3e490a8099914fd947c3fd78f2268fe83b38801eb7 |
|
MD5 | 8dcbbf1844248c4ac01934aab7bdae3e |
|
BLAKE2b-256 | 4091d1ee81fe1e13aeef8a62dd03757599dc5c6755deff6913e400002bd4f100 |