/python-gcm

Python client for Google Cloud Messaging for Android (GCM)

Primary LanguagePythonMIT LicenseMIT

python-gcm

Join the chat at https://gitter.im/geeknam/python-gcm Build Status Code Health https://coveralls.io/repos/geeknam/python-gcm/badge.svg?branch=master

Python client for Google Cloud Messaging for Android (GCM)

Installation

pip install python-gcm

Features

  • Supports multicast message
  • Resend messages using exponential back-off
  • Proxy support
  • Easily handle errors
  • Uses requests from version > 0.2
  • Topic Messaging
  • TCP connection pooling and Keep-Alive when passing an explict requests.Session object to the used GCM request call

Usage

Read about Google Cloud Messaging

from gcm import GCM

gcm = GCM(API_KEY)
data = {'param1': 'value1', 'param2': 'value2'}

# Downstream message using JSON request
reg_ids = ['token1', 'token2', 'token3']
response = gcm.json_request(registration_ids=reg_ids, data=data)

# Downstream message using JSON request with extra arguments
res = gcm.json_request(
    registration_ids=reg_ids, data=data,
    collapse_key='uptoyou', delay_while_idle=True, time_to_live=3600
)

# Topic Messaging
topic = 'topic name'
gcm.send_topic_message(topic=topic, data=data)

See examples directory for more usage details, including error handling.

Contributing

See CONTRIBUTING.md

Licensing

See LICENSE