【グループチャットでの未読通知数表示について】
LINEなどのアプリのように、複数人参加しているチャットの未読数表示機能を実装したいです。
・具体例
1対1のチャットであれば、送信数をカウントするプロパティを設置して、
・送信される事に+1する
・チャットを開いた時にカウントを0にする
このふたつで通知数を表示できると思います。
グループチャットの場合、
・1つのプロパティでは管理できない
・退会や入会によるユーザの入れ替わりがある
このふたつの理由で、実装に手間取っています。
コレクションとプロパティについてアドバイスいただけますか?
muku
2
@REN_565656 さん
チャットに多対多(チャットとUser)のリレーションを利用してみてはいかがでしょうか?
実装にあたり、まずDBにチャットとメッセージをがを作成する必要があり、
(Adaloのテンプレートのチャットにこの機能が実装されているので、ここの組み方はテンプレ参考にされてみてください
)
上記実装されると、退会・入会によるユーザの入れ替わりもチャットに多対多(チャットとUser)でリレーションし、
addとRemoveで管理できると思います〜
上記がある上での話になりますが、
チャットに多対多(チャットとUser)のリレーションを利用して以下のように設定することで
グループチャットでの既読きのが実装できるようになると思います〜
リレーションには既読と名付け、
毎回新規のメッセージをCreateするごとに既読にadd Loged in User
チャットを開いたタイミングでremove Logged In User とすることで、
チャットの表示画面に
既読の中にLogged in Userがいない場合
アイコンが表示されるようにする
とそのチャットが既読なのか未読なのかわかる仕組みが出来上がると思います〜
これならグループチャットでも応用効くと思います〜
「いいね!」 2
丁寧で分かりやすいご教示、ありがとうございます!
その通りに実装作業進めてみて、詰まってしまった、もしくは出来たらご報告させて頂きます!
「いいね!」 1
muku
4
@REN_565656 さん
伝わってよかったです
またわからないことあればいつでも
返信お待ちしてます!
まずは無事実装できること祈ってます〜
「いいね!」 1