簡體   English   中英

當應用不在前台時接收服務中的 FCM 數據消息

[英]Receive FCM data messages in service when the app is not in Foreground

FCM 文檔指出,當應用程序處於前台時,FCM 消息將傳遞到系統托盤。

我想在 FirebaseMessagingService 中處理這些消息。 是否可以訪問系統托盤以獲取 firebase 消息(因為我已經安排了服務)或重新激活 FirebaseMessagingService.onMessageReceived 行為,就像舊 firebase ZDB974238714CA8DE6FZA7 版本一樣?

僅當消息沒有附加通知時才調用onMessageReceived 因此,對於同時具有通知和有效負載的消息,它不會被調用。

根據FCM 文檔

大多數消息類型都提供了 onMessageReceived,但以下情況除外:

當您的應用程序在后台時傳遞的通知消息 在這種情況下,通知將傳送到設備的系統托盤。 默認情況下,用戶點擊通知會打開應用啟動器。

在后台接收時帶有通知和數據負載的消息 在這種情況下,通知被傳遞到設備的系統托盤,數據負載被傳遞到啟動器 Activity 的附加內容中。

如您所見,即使您的應用程序在后台,也會調用onMessageReceived

由於節電限制,消息在小米設備上消失了。 更改電池管理設置后,數據消息到達

如果您的應用程序在后台,FCM 消息將顯示在系統托盤中,但如果您的應用程序在前台,您的 FirebaseMessagingService.onMessageReceived 將觸發,因此您可以顯示對話框或snackBar。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM