Skip to content
This repository
branch: master
Fetching contributors…


Cannot retrieve contributors at this time

file 81 lines (50 sloc) 3.178 kb

Google Cloud Messaging for Android (GCM)

Build Status

GCM sends notifications to Android devices via GCM.


$ gem install gcm

or in your Gemfile just include it:

gem 'gcm'


An Android device running 2.2 or newer and an API key as per GCM getting started guide.

One of the following, tested Ruby versions:

  • 1.9.3
  • 2.0.0
  • 2.1.0


For your server to send a message to one or more devices, you must first initialize a new GCM class with your api key, and then call the send_notification method on this and give it 1 or more (up to 1000) registration IDs as an array of strings. You can also optionally send further HTTP message parameters like data or time_to_live etc. as a hash via the second optional argument to send_notification.

Example sending notifications:

require 'gcm'

gcm =
# you can set option parameters in here
#  - all options are pass to HTTParty method arguments
#  - ref:
#  gcm =, timeout: 3)

registration_ids= ["12", "13"] # an array of one or more client registration IDs
options = {data: {score: "123"}, collapse_key: "updated_score"}
response = gcm.send_notification(registration_ids, options)

Currently response is just a hash containing the response body, headers and status. Check here to see how to interpret the responses.

Blog posts

Android Client

You can find an Android Client app to recieve notifications from here: Google Cloud Message - Client Android



  • All responses now have a body and header hashes



MIT License

  • Copyright (c) 2014 Kashif Rasul and Shoaib Burq. See LICENSE.txt for details.

Many thanks to all the contributors

Something went wrong with that request. Please try again.