サーバサイドの開発をしていて、プッシュ通知をクライアントに送るという機能を実装する事が多くなったのと、日本語の情報が少なかったので書きます。
私がよくRailsからプッシュ通知を送る為に使用しているのが、「Rpush」というgemです。
その他、Rubyからプッシュ通知を送る為のgemというのはあるのですが、最近はもっぱら「Rpush」です。
その他、Rubyからプッシュ通知を送る為のgemというのはあるのですが、最近はもっぱら「Rpush」です。
Rpushのしくみ
- Rpush用のテーブル(Rpush::Notification)にプッシュ配信のデータを書き込む(メッセージだったり、カスタムデータだったり)
- Rpushがテーブルに書き込まれたのを検知する
- 配信される
- エラーが出れば、Rpush用のテーブル(Rpush::Notification)に書き込まれる
導入
1. GemfileにRpushを追加
2. Railsのルートでコマンドを実行します。
3. 2のコマンドで、config/initializers/rpush.rb, とRpush用のマイグレーションファイルが出来たので、テーブルを作成します
4. 次にアプリ(Rpush::App)を作成してやります。RpushにはAppという概念があり、それをテーブルに登録してやる必要があります。実際にはseedで登録してやるのがいいでしょう。
- APNsの場合
- GCMの場合
以上で準備完了です。
実装
1. まずRpushをスタートさせます。
- デーモンの場合
- Railsのプロセスと同時に動作させる場合(config.ruに追加)
2. 実際にプッシュ通知を送ります。
- APNsの場合
最初に作成した、Rpush::Apns::Appのレコードに紐づける形で、Rpush::Apns::Notificationを作成してやります。
- GCMの場合
最初に作成した、Rpush::Gcm::Appのレコードに紐づける形で、Rpush::Gcm::Notificationを作成してやります。
これで、登録されたRpush::NotificationのデータをRpushが検知して、プッシュ通知を送信してくれます。
0 件のコメント:
コメントを投稿