Firebaseを使用してアプリケーションを構築しています。このアプリの特徴の1つはチャット機能で、ユーザーは他のユーザーにメッセージを送ることができます。ファンシーではなく、テキストベースの1人のユーザーから1人のユーザーメッセージングまでです。 this oneやthis oneなどの実装方法を説明しているオンラインのチュートリアルはすべて匿名認証を使用しているため、多くの原則が適用されないようです。この機能を使用する前に、ユーザーに認証を依頼しています。Firebaseのメッセージングアプリケーションのデータベース構造
私が自由に使える2つの主な機能は、アプリケーションのJSONデータベース構造内の特定のパス(追加、編集、削除、変更順序)の内容を変更し、クライアント側でこれらの変更を観察できることです彼らが起こるように。私は簡単にすべてのメッセージを同じ子に置き、メッセージの子に何か変更を聞き、現在のユーザーIDに関連付けられたメッセージを探すことで、すべてのメッセージをクライアント側の会話に解析します。しかし、この方法は、余分なメッセージをたくさんフィルタリングしなければならないように思えるので、非効率的です。
観測構造の一般的な流れ、各メッセージに含める必要があるもの、別々の会話に効率的に並べ替える方法は非常に役に立ちます。
ガイダンスのおかげで、これは非常に役に立ちます。私の唯一の考えは、すべてのチャットルームを手動で解析し、チャットルームIDに基づいてユーザーが1人いるかどうかを確認することが非常に遅いことです。チャットルームIDだけを含む別のノードを作成し、代わりにそれを検索するとよいでしょうか? –
それは本当に悪い考えです。あなたは通常、UIDによって各ユーザーの部屋のリストを取得します。 '/ userrooms/$ uid/roomid1:true'、'/usersrooms/$ uid/roomid2:true'などです。 –