WindowsPhoneへのPush通知は長いことTwiProwl/IMAProwl + toastyという組み合わせで使っていたのだがPushalotという良さそうなサービス、アプリケーションを見つけたので早速試してみた。
Pushalot
toastyと比べるとPushalotは以下の点が優れている。
- WindowsPhoneだけでなく、Windows 8向けにもクライアントアプリが用意されている。
- Push通知させるデバイスの管理がWeb上で行える。
- SSLに対応(toastyは対応してない)
- WindowsPhone8のLockscreenに未読の通知件数を表示させられる。
- 既読ステータスをデバイス間で同期できる。
例:Lumia920と820に同じ通知をPush。920で通知を確認。820側も自動的に既読状態になる。
TwiProwlをPushalotに対応させる
PushalotのAPIページにRubyのサンプルコードが載ってるのでそれを使うのが楽
私はTwiProwlの360行目あたりに以下のコードを挿入した。
def pushalot( icon, params={}, user = nil ) begin require "net/https" url = URI.parse("https://pushalot.com/api/sendmessage") req = Net::HTTP::Post.new(url.path) req.set_form_data({ :AuthorizationToken => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", :Title => params[:event], :Body => params[:description], :Image => "https://ar3r3.com/icon_twiprowl.png", :Source => params[:application], }) res = Net::HTTP.new(url.host, url.port) res.use_ssl = true res.verify_mode = OpenSSL::SSL::VERIFY_PEER res.start {|http| http.request(req) } rescue error "Error while Prowling: #{$!}" end end
こうした方がいいよ!みたいなツッコミ頂けると喜びます。