LoginSignup
63
63

More than 5 years have passed since last update.

iPhoneアプリのPush通知をRubyで実装するならhoustonが良さげ

Posted at

iPhoneアプリのPush通知を実装するのに使用した「houston」というライブラリが良さげだったのでメモ。

経緯

アプリにPush通知を実装する事になったので、この記事を参考にやってみたのですが何故か通知が来ない。。で、他に良いライブラリがないか探して見つけたのがこの記事でした。
Ruby - 巨大な Helios を取り巻く gem 群について調べてみた - Qiita [キータ]

1-2. houston

mattt/houston · GitHub

Houston is a simple gem for sending Apple Push Notifications. Pass your credentials, construct your message, and send it.

iOS のプッシュ通知サービスを利用するためのライブラリ。
同様の機能を持つライブラリに APNS gem があるが、houston gem のほうが実用的な機能がまとまっている。

これは良さげ!!

houstonのここが良い

1. URLを意識しなくて良い

最初に感じたのはこれでした。
APNSの場合は通知を送るURLを文字列として直書きする必要があり、そのURLによって開発環境か本番環境かを識別していたのですが、houstonの場合は最初に development か production を指定するだけでURLを意識する必要がありません。

APNSの場合
// 開発環境
APNS.host = 'gateway.sandbox.push.apple.com'
houstonの場合
// 開発環境
APN = Houston::Client.development

直感的に分かって良いですねー。

2. 通知処理をバックグラウンドで実行する事が可能

バックグラウンドで動かしたい場合は、こんな感じに書けばOK!

certificate = File.read("/path/to/apple_push_notification.pem")
passphrase = "..."
# 開発環境
connection = Houston::Connection.new(APPLE_DEVELOPMENT_GATEWAY_URI, certificate, passphrase)
connection.open

notification = Houston::Notification.new(device: token)
notification.alert = "Hello, World!"
connection.write(notification.message)

connection.close

3. コマンドラインから動作確認ができる

apnというファイルを使うと、コマンドラインでPush通知の動作確認ができます。

$ apn push "<token>" -c /path/to/apple_push_notification.pem -m "Hello from the command line!"

まとめ

というわけで僕はこれをおすすめします。

nomad/houston

この記事で紹介しているような事は、READMEに書かれています。
分かりやすいドキュメントも魅力的ですね!

どのライブラリを使うか迷っている方はぜひどうぞ!
他に何か良さげなライブラリがありましたら教えて下さい〜。

63
63
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
63
63