設置和管理消息優先級

您有兩個選項可以為 Android 上的下游訊息指派傳輸優先權:正常優先權和高優先權。普通和高優先權訊息的傳遞工作如下:

  • 正常優先級。這是數據訊息的預設優先順序。當裝置未休眠時,會立即傳送普通優先權訊息。當裝置處於休眠模式時,可能會延遲傳送以節省電池,直到裝置退出休眠模式。對於時間敏感度較低的訊息,例如新電子郵件通知、保持 UI 同步或在背景同步應用程式數據,請選擇正常傳送優先順序。

    當在 Android 上收到請求應用程式後台資料同步的正常優先權訊息時,您可以使用WorkManager安排一個任務,以便在網路可用時處理該任務。

  • 高優先級。 FCM 嘗試立即傳遞高優先級訊息,從而允許 FCM 在必要時喚醒睡眠設備並運行一些有限的處理(包括非常有限的網路存取)。高優先級訊息通常應該導致用戶與您的應用程式或其通知進行互動。

使用 Android 的高優先權訊息

Android 上的高優先級訊息適用於時間敏感、用戶可見的內容,並且應該導致面向用戶的通知。如果 FCM 偵測到訊息不會導致面向使用者的通知的模式,則您的訊息的優先順序可能會降低到正常優先順序。 FCM 在決定是否降低訊息優先權時使用 7 天的訊息行為;它為應用程式的每個實例獨立地做出此決定。如果為了回應高優先權訊息,通知以使用者可見的方式顯示,那麼您未來的高優先權訊息將不會被降低優先權。無論通知是由 FCM SDK 透過通知訊息顯示,還是開發人員透過資料訊息產生的通知,這都適用。

測量 Android 上的消息取消優先級

  • 個人訊息。傳遞時,您可以透過將getPriority()傳遞的傳遞優先權與其getOriginalPriority()傳遞的原始優先權進行比較來確定單一訊息是否被取消優先權

  • 所有訊息。 FCM 聚合傳送資料 API可以報告發送至 Android 的所有訊息中被取消優先順序的百分比。聚合資料報告中可能會省略一些訊息,但總體而言,它們應該提供訊息去優先權率的全域視圖。請參閱我們關於聚合交付資料的文章,以了解更多資訊以及用於查詢 API 的範例程式碼;也可以透過API 資源管理器進行探索

故障排除

  • 確保您的應用程式實例啟用了通知。如果使用者停用了您的應用程式的通知權限,則您的任何通知都不會發布,因此您的訊息將被降低優先順序。在向應用程式實例發送高優先級訊息之前,您應該驗證通知是否已啟用

  • 在發布通知之前不要打電話回家。由於一小部分 Android 行動用戶使用高延遲網絡,因此請避免在顯示通知之前開啟與伺服器的連接。對於高延遲網路上的用戶來說,在允許的處理時間結束之前回調伺服器可能存在風險。相反,通知內容應包含在 FCM 訊息中並立即顯示。如果您需要在 Android 上同步其他應用程式內內容,您可以使用WorkManager安排任務以在背景處理該任務。