これ可能な構造は質問上記構成において
drivers
-Yuiu9jasjdasd
name: "driver 1"
-Huuajwiojiejw
name: "driver 2"
riders
-Yij99js9skos
name: "rider 1"
-Y090jssiisss
name: "rider 2"
rider_driver_requests
-Yuljai8jsid99jsds
requested_by_rider: "-Yij99js9skos"
for_driver: "-Yuiu9jasjdasd"
driver_response: "Pending"
-Y99mskksmnjndjnsj
requested_by_rider: "-Y090jssiisss"
for_driver: "-Huuajwiojiejw"
driver_response: "Accepted"
構造を支援し、簡素化することが、rider_1はDRIVER_1から乗り心地を要求しましたが、彼らが行うとき、(まだdriver_responseの意志をDRIVER_1応答していません保留中から拒否または承認済みに変更)。
rider_2はdriver_2から乗車をリクエストしており、2番目のドライバーはすでに受け入れています。
ライダーとドライバーの両方がrider_driver_requestsノードを監視しており、そのノードの追加、変更、またはイベントの削除についてそれぞれ通知されます。
「このノードは巨大になる!」と言う前に、私はこれを次のように構成した理由は、ライダーが特定のドライバーを要求していない可能性があるということです。
そのエリア内のすべてのドライバーは、そのノードを観察して現在の位置(例えば、長い緯度)と乗車を要求したライダーの位置とを比較するように要求を通知したがります。
出典
2017-01-19 22:55:12
Jay
これは実際にプッシュ通知を使用していますか?通常のFirebaseイベントを使用する方がはるかに簡単です。ドライバーにライダー、ドライバーの拒否(ライダーのアプリが観察しているノードに書き込まれている)が通知され、ライダーに警告されます。 – Jay
@Jayいいえまだ利用していません。私は、各アプリが目的のアラートを取得するための最良の方法を考えようとしています。どうすればいい? – LizG
あなたは私のコメントで言及したようにそれを行うでしょう。ドライバ観測者は、ライダーが要求を投稿したノードを受け入れ、拒否すると、それはライダーノード(彼らが観測している)にポストバックされます。つまり、すべてのドライバーが監視していて、それらのドライバー以外のドライバーを無視するノードの要求を持つのが最善でしょう。それを行う方法は100通りあるので、それは2つです。 – Jay