可靠地接收訊息是 Android 傳訊體驗最關鍵的功能。此外,實作訊息時,也請留意系統健康狀態和電池續航力。本文將逐步說明重要策略和工具,確保 Android 應用程式能持續、有效率且可靠地接收訊息。
訊息傳送機制
如要確保訊息傳送的可靠性,最適合的做法取決於應用程式的具體需求。請考量以下因素:
- 目前即時需求
- 訊息頻率
- 電池限制
前景即時訊息傳遞
應用程式在前台執行時,使用者通常會希望看到相當大量的資訊,並想知道以下事項:
- 對方是否在自己的裝置上?
- 對方是否正在輸入訊息?
- 對方是否已讀取訊息?
支援這類即時資料交換的常見方式是使用用戶端/伺服器通訊協定,例如 WebSocket。WebSocket 可在應用程式和伺服器之間建立持續性的全雙工通訊。OKHTTP 程式庫包含 WebSocket 通訊協定的實作項目,可在 Android 用戶端中使用。
Firebase 即時資料庫提供預先建構的後端和用戶端前端,可代表您處理這類通訊作業。這項服務會在內部使用 WebSocket,在用戶端和伺服器之間進行即時通訊。
背景即時訊息傳遞服務
應用程式不再處於前景時,請務必避免執行會對系統健康狀態和電池續航力造成負面影響的動作。由於可靠地傳送訊息通知仍十分重要,建議您使用 Firebase 雲端通訊 (FCM)。
FCM 是跨平台的訊息傳遞解決方案,可有效率地將通知和資料訊息傳送至 Android (和其他) 裝置。對於搭載 Google 服務的裝置,這項功能會運用 Android 傳輸層 (ATL),因此應用程式在停止執行後,仍可收到變更通知。訊息傳送的及時性取決於裝置狀態、訊息優先順序,以及應用程式是否因休眠或應用程式待命而受到限制。
提高訊息傳送可靠性
如要進一步提升訊息傳送的穩定性,建議採用下列策略:
- 使用
WorkManager定期喚醒應用程式,在裝置連上網路時檢查是否有新訊息,最好是在裝置接上充電器時執行這項操作。 - 使用 Firebase 控制台和 FCM Data API 提供的 Android SDK 傳送指標等工具,深入瞭解 FCM 傳送情況。
- 使用記錄機制和工具 (例如 Firebase Crashlytics),監控及排解訊息傳送問題。