Rubyでparse.com経由でPush通知をする
RubyでPush通知を送る
gem
Rubyからはparse-ruby-clientというgemを使うことで楽に使える。しかし、ドキュメントが分かりにくく、使うのに苦労した。
adelevie/parse-ruby-client · GitHub
Gemfile
parse-ruby-clientのmasterブランチにはリリース版に含まれていない変更が多数あるので、Gemfileに以下のように書く必要がある。(12/28時点)
gem 'parse-ruby-client', git: 'https://github.com/adelevie/parse-ruby-client.git'
コード
client = Parse.create :application_id => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', :api_key => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', # REST API key :quiet => false # quietはオプションでデファルトでfalse push = client.push('Hello') push.where = {} # 全デバイスに送る result = push.save['result'] # {"result"=>true}
Parse.createで認証を通し、client.pushで送るデータをセットし、push.saveで実際に各端末に通知を投げている。
また、上のコードでは文字列を各端末に送信しているが、JSONを送ることもできる。client.pushの引数をハッシュにすればよい。
json = {'test'=>'hello'} push = client.push(json)
Androidで文字列を送信した際は自動で通知画面が生成されるが、JSONを送信したときは通知されないので自分で通知を生成する必要がある。iOSは未確認。