HTTPS SSH

gcm-client

Python client for Google Cloud Messaging (GCM). Check documentation to learn how to use it.

Check the client with similar interface for Apple Push Notification service.

Requirements

  • requests - HTTP request, handles proxies etc.
  • omnijson if you use Python 2.5 or older.

Alternatives

Th only alternative library known at the time of writing was python-gcm. This library differs in the following design decisions:

  • Predictable execution time. Do not automatically retry request on failure. According to Google's recommendations, each retry has to wait exponential back-off delay. We use Celery back-end, where the best way to retry after some delay will be scheduling the task with countdown=delay. Sleeping while in Celery worker hurts your concurrency.
  • Do not forget results if you need to retry. This sounds obvious, but python-gcm drops important results, such as canonical ID mapping if request needs to be (partially) retried.
  • Clean pythonic API. No need to borrow all Java like exceptions etc.
  • Do not hard-code validation, let GCM fail. This decision makes library a little bit more future proof.

Support

GCM client was created by Sardar Yumatov, contact me if you find any bugs or need help. Contact Getlogic if you need a full-featured push notification service for all popular platforms. You can view outstanding issues on the GCM Bitbucket page.