【问题标题】:Xamarin forms: How can I show the unread message count in chat?Xamarin 表单:如何在聊天中显示未读消息数?
【发布时间】:2019-05-16 11:35:43
【问题描述】:

我正在开发像 Facebook 这样的聊天应用程序。在主页中,我列出了所有聊天,打开聊天时我正在调用 REST API 以获取新消息。只有在打开聊天后,我才会调用其余 API 来列出新消息。从主页,无法获取新消息的详细信息。

另外,我使用 FCM 在我的应用中实现了推送通知。当有新消息到来时会收到推送通知。

在这个实现中,我如何在聊天中显示未读消息的数量?请提出一个合适的解决方案来显示未读消息数?

是否可以使用推送通知来实现此功能?但推送通知的OnMessageReceived() 仅在应用程序处于前台状态时执行。当应用程序处于后台或终止状态时,OnMessageReceived() 将不会执行。当应用程序处于注销状态时,也不会收到通知。

【问题讨论】:

    标签: xamarin.forms firebase-cloud-messaging read-unread


    【解决方案1】:

    您的聊天应用程序应该是实时的,您无法使用 REST API 来保持更新,因为这只是一种方式,例如您可以使用 Web 套接字(如 socket.io),然后您将拥有一个双工服务器和客户端之间的通信允许您保持更新。现在来回答您的问题,您可以从主屏幕增加每次聊天中未读消息的计数,因为您将能够在主屏幕中接收消息(事件)

    【讨论】:

    • 但是推送通知的OnMessageReceived()只有在应用处于前台状态时才会执行。当应用程序处于后台或终止状态时,OnMessageReceived() 将不会执行。当应用程序处于注销状态时,也不会收到通知。
    • 这不是你的问题。请参阅注册通知的文档:docs.microsoft.com/en-us/azure/app-service-mobile/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-01
    • 1970-01-01
    • 2021-07-09
    • 2011-11-16
    • 1970-01-01
    • 2019-06-29
    相关资源
    最近更新 更多