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
Whether using APNS or GCM, pushjack provides a common API interface for each.
APNS
from pushjack import APNSClient, create_apns_config
settings = create_apns_config()
settings['APNS_CERTIFICATE'] = '<path/to/certificate.pem>'
client = APNSClient(settings)
# Send to single device.
client.send(token, alert, **options)
# Sent to multiple devices.
client.send_bulk(tokens, alert, **options)
# Get expired tokens.
expired = client.get_expired_tokens()
GCM
from pushjack import GCMClient, create_gcm_config
settings = create_gcm_config()
settings['GCM_API_KEY'] = '<api key>'
client = GCMClient(settings)
# Send to single device.
client.send(token, alert, **options)
# Sent to multiple devices.
client.send_bulk(tokens, alert, **options)
Settings
The settings object for configuring a client is expected to be a dict or subclass of dict:
gcm_settings = {
'GCM_API_KEY': '<api key>',
'GCM_URL': 'https://android.googleapis.com/gcm/send',
'GCM_MAX_RECIPIENTS': 1000
}
apns_settings = {
'APNS_CERTIFICATE': '<path/to/certificate.pem>',
'APNS_HOST': 'gateway.push.apple.com',
'APNS_PORT': 2195,
'APNS_FEEDBACK_HOST': 'feedback.push.apple.com',
'APNS_FEEDBACK_PORT': 2196,
'APNS_ERROR_TIMEOUT': 0.5,
'APNS_DEFAULT_EXPIRATION_OFFSET': 60 * 60 * 24 * 30
'APNS_MAX_NOTIFICATION_SIZE': 2048
}
For a class based approached, configuration classes are provided for subclassing:
from pushjack import GCMConfig, APNSConfig, APNSSandboxConfig
class MyGCMConfig(GCMConfig):
GCM_API_KEY = '<api key>'
class MyAPNSConfig(APNSConfig):
APNS_CERTIFICATE = '<path/to/certificate.pem>'
class MyAPNSSandboxConfig(APNSConfig):
APNS_CERTIFICATE = '<path/to/certificate.pem>'
By default, both GCMConfig, APNSConfig, and APNSSandboxConfig will set default values for the settings that shouldn’t change. You will need to set GCM_API_KEY or APNS_CERTIFICATE appropriately though.
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
Built Distribution
Hashes for pushjack-0.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba1bec45e4130e2a1ac33222f9fe3a07ac7578d3e5dae551c5e3ea90a83b4b3a |
|
MD5 | ae0fbb5665471296878d4f68a73cb3bd |
|
BLAKE2b-256 | ac3e6237b5fa00dc5d568e3871be709bf93c79b18bf1a3ee67c4bdff1ec5ed8a |