RailsからiPhone、Androidへのpush通知メモ

  • 159
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

RailsからiPhoneやAndroidにpush通知した。
使ったのは下記Gem。

必要なもの

iPhone

Android

iPhoneへpush通知

Gemfileに追加後bundle install

gem 'apns'

まずpemファイルを作ってあげないといけない

openssl pkcs12 -in cert.p12 -out cert.pem -nodes -clcerts

作ったpemファイルを/path/to/cert.pemに配置し、下記でpush通知が送れる。

APNS.host = 'gateway.push.apple.com' 
APNS.pem  = '/path/to/cert.pem'
APNS.port = 2195 

device_token = 'xxxxxxxxxxxxxxxxxxxx' # 送りたい端末のdevice token
APNS.send_notification(device_token, :alert => 'Hello iPhone!', :badge => 1, :sound => 'default')

Androidへpush通知

Gemfileに追加後bundle install

gem 'gcm'

下記実行するとandroid側に通知が飛ぶ

require 'gcm'

api_key = "xxxxxxxxxxxxxxxxxxxx"
registration_ids = ["a1", "a2", "a3"] # 送りたいregistration_idの配列
gcm = GCM.new(api_key)
options = {data: {score: "123"}, collapse_key: "updated_score"}
response = gcm.send_notification(registration_ids, options)

options内のdataハッシュ内に自由にキーを設定して送信してあげるとAndroid側で取得して色々処理できたりします