【问题标题】:How to know if chat between 2 users is active in Firebase Realtime Database?如何知道 2 个用户之间的聊天是否在 Firebase 实时数据库中处于活动状态?
【发布时间】:2025-12-07 18:45:01
【问题描述】:

我的应用程序中有一个聊天功能,我正在向用户发送推送通知,但我遇到了一个问题,因为如果 2 个用户已经在互相聊天,我不想发送推送。我如何知道 2 个用户之间的聊天是否处于活动状态?以及如何知道是否有人关闭了聊天会话?

非常感谢您的帮助。

干杯!!

【问题讨论】:

    标签: firebase xamarin firebase-realtime-database


    【解决方案1】:

    好的,交易到此为止。

    假设有两个用户,A 和 B。 用户 A 已进入聊天屏幕,同时[Map:bool] 将被发送到"IsActive_A: true" 的firestore。 (这是给用户 A 的,给用户 B 使用类似的字段)。

    当用户A离开聊天时,或者点击返回按钮或者onDispose方法被调用。发送[Map:bool]的相同功能将被发送到firestream,其值等于false

    我现在只能给你这些,如果你想进一步解释,请分享一些相关代码!

    【讨论】:

    • 嗨,Sayed,感谢您的回复,但如果用户直接关闭应用程序而不关闭聊天怎么办?你如何处理这种情况?
    • 您可以在App.OnSleep中禁用状态,该方法可以在应用关闭时触发,请查看*.com/a/47913258/8187800
    • 感谢@ColeX-MSFT。它也帮助我解决了这个问题。干杯!