プッシュ通知という言葉だけでは、どのような事を実現したいのか正確にわからないのですが、回答させていただきます。
1.observeメソッドで特定のデータの変更を検知する
observeメソッドを使うと、データの変更があった際に、withブロックで書いた処理を実行してくれます。
アプリを起動している時に変更を検知して画面上に何かアクションを行いたい場合は、ブロック内に処理を書けば実現可能だと思います。
https://firebase.google.com/docs/database/ios/retrieve-data#value_events
https://firebase.google.com/docs/database/ios/read-and-write#listen_for_value_events
※サンプルソースは1番目の日本語版リンクだとswift3.0に対応しておらず若干古いので、2番目の英語版リンクを参考にすると良いと思います。
observeの場合はデータを受け取った側が、変更の内容を見て、画面上に変更内容を出す出さないなどをコントロールする必要があります。
「実現したいこと」に記載のことは、これで実現できそうな気がします。
そしてもちろんアプリがバックグラウンドにある場合は、変更には気づけません。
2.FCMを使って通知を送る
データの変更を行った際に、変更した側でFirebase Cloud Messaging(FCM)を使ってメッセージを送ると、アプリが起動していない状態でも受け取れる「Push通知」を送ることが出来ます。
https://firebase.google.com/docs/cloud-messaging/ios/topic-messaging
この場合、アプリが起動している(フォアグラウンド)時にPushを受け取った際の処理を、AppDelegateに書くことが出来ます。
とりあえずFCMでメッセージを送っておいて、受け取った際にデータの内容で挙動を変えることも出来ます。
ただあまりにデータ変更の頻度が高いようであれば、何らかの上限にかかる気がするので注意が必要です。
https://firebase.google.com/docs/cloud-messaging/ios/receive
アプリを起動していないときにも変更を通知させたいのであれば、FCMで実現する必要があります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/07 02:31
2017/02/07 03:21