穩定接收訊息

在 Android 訊息服務中,穩定接收訊息是最重要的功能。此外,在實作訊息功能時,也必須考量系統健康狀態和電池續航力。本文件將引導您瞭解重要策略和工具,確保 Android 應用程式能穩定、有效率且可靠地接收訊息。

訊息傳送機制

最適合的可靠訊息傳遞方法取決於應用程式的特定需求。請考量以下因素:

  • 目前的即時需求
  • 訊息頻率
  • 電池限制

前景即時訊息

當應用程式在前景執行時,使用者通常會預期看到相當大量的資訊,並想知道以下事項:

  • 訊息對象是否在裝置上?
  • 他們是否正在輸入內容?
  • 對方是否已讀取訊息?

支援這類即時資料交換的典型方式是使用用戶端伺服器通訊協定,例如 WebSockets。WebSockets 可在應用程式和伺服器之間建立持續的全雙工通訊。OKHTTP 程式庫包含 WebSocket 通訊協定的實作,可在 Android 用戶端中使用。

Firebase 即時資料庫提供預先建構的後端和用戶端前端,可代您處理這類通訊。在內部使用 WebSocket,在用戶端和伺服器之間進行即時通訊。

背景即時訊息傳遞

當應用程式不再於前景執行時,請務必避免執行會對系統健康狀態和電池續航力造成負面影響的操作。由於可靠地傳送訊息通知仍很重要,建議您使用 Firebase 雲端通訊 (FCM)。

FCM 是跨平台訊息傳遞解決方案,可有效率地將通知和資料訊息傳送至 Android (和其他) 裝置。對於搭載 Google 服務的裝置,這項功能會使用 Android 傳輸層 (ATL),因此即使應用程式已停止執行,仍可收到變更通知。訊息傳送的及時性取決於裝置狀態、訊息優先順序,以及應用程式是否因打盹或應用程式待命而受到限制。

提高訊息傳遞可靠性

如要進一步提升訊息傳送的穩定性,建議採用下列策略: