GCM sends notifications to Android devices via GCM.
##Installation
$ gem install gcm
or in your Gemfile
just include it:
gem 'gcm'
##Requirements
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
##Usage
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 = GCM.new(api_key)
# you can set option parameters in here
# - all options are pass to HTTParty method arguments
# - ref: https://github.com/jnunemaker/httparty/blob/master/lib/httparty.rb#L40-L68
# gcm = GCM.new(api_key, 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.
- How to send iOS and Android notifications from your Rails backend
- Как отправлять push уведомления из Вашего Rails приложения
- GCM – 서버 만들기
- ruby から gcm を使って android 端末へメッセージを送信する
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
- You can initialize GCM class with HTTParty Options
- Added support for canonical registration ID
- Only support Ruby versions >= 1.9.3
- Fixed Rspec deprecation warnings for Rspec 3.0.0.beta
##MIT License
- Copyright (c) 2014 Kashif Rasul and Shoaib Burq. See LICENSE.txt for details.
##Many thanks to all the contributors