云消息传递

消息投递机制

可靠消息传递的最佳方法取决于您应用的特定要求。请考虑以下因素:

当前实时需求

  • 消息频率
  • 电池限制
  • 前台实时消息传递

当您的应用位于前台时,用户通常期望接收到相当大量的信息,并且想了解以下事项:

接收消息的人员是否在其设备上?

  • 他们正在输入吗?
  • 他们是否已阅读消息?
  • 支持此类实时数据交换的典型方法是使用客户端-服务器协议,例如 WebSockets。WebSockets 可以在您的应用和服务器之间实现持久的双向通信。 OKHTTP 库包含一个 WebSocket 协议实现,您可以在 Android 客户端中使用它。

Firebase Realtime Database 提供预构建的后端和客户端前端,可以代表您处理此类通信。它内部使用 WebSockets 实现客户端和服务器之间的实时通信。

后台实时消息传递

当您的应用不再处于前台时,避免执行会损害系统健康状况和电池续航时间的操作至关重要。由于可靠地投递消息通知仍然很重要,我们建议使用 Firebase Cloud Messaging (FCM)

FCM 是一种跨平台消息传递解决方案,可高效地将通知和数据消息发送到 Android(及其他)设备。它利用 Android 传输层 (ATL) 来支持具有 Google 服务的设备,以便在您的应用不再运行时通知您更改。消息投递的及时性取决于设备的状态、消息的优先级以及您的应用是否受到 低电耗模式应用待机模式 的限制。

了解如何将 FCM 集成到您的 Android 项目中

为了让您的消息投递更加健壮,请考虑以下策略:

当设备具有 网络连接 时,使用 WorkManager 定期唤醒您的应用 以检查新消息,(理想情况下)是在设备连接到充电器时。