首頁 >後端開發 >php教程 >為什麼 Firebase 雲端訊息傳遞 (FCM) 通知在 iOS 上的後台模式下不保留?

為什麼 Firebase 雲端訊息傳遞 (FCM) 通知在 iOS 上的後台模式下不保留?

Susan Sarandon
Susan Sarandon原創
2024-10-20 15:22:021029瀏覽

Why Are Firebase Cloud Messaging (FCM) Notifications Not Retained in Background Mode on iOS?

Firebase 雲端訊息傳遞(FCM):當應用程式在iOS 上處於後台模式時未收到通知

FCM 允許開發者將推播通知傳送到iOS 和Android 裝置。當應用程式在背景時未收到通知時,就會出現此問題。

可能原因:

  • 發送通知的 PHP 程式碼不正確。
  • iOS 應用程式缺乏後台模式支援。

解決方案:

PHP 代碼:

  • 將以下欄位加入您的PHP 負載中:
    • 'content_available' =>; true(當iOS 應用程式在後台時觸發)
    • 'priority' => '高'
    • '通知'=> $data(將$data 替換為您想要的通知資料)
  • 將$data 設定為包含具有自訂值的「message」和「 body”鍵。

iOS 應用程式:

  1. 檢查 .gcm 檔案是否包含在您的 Xcode 專案中。
  2. 確保 AppDelegate 符合 GCMReceiverDelegate。
  3. 重寫 applicationDidBecomeActive 和 applicationDidEnterBackground 方法分別(重新)連接和斷開與 FCM 的連接。
  4. 使用 UIRemoteNotificationType 註冊通知。
  5. 實作 application:didReceiveRemoteNotification: 方法來處理收到的通知,甚至當應用程式在背景時。
  6. 如果需要,請實作 application:didReceiveRemoteNotification:fetchCompletionHandler: 方法以進一步處理在背景收到的通知。

更新的PHP 代碼:

更新的iOS 應用程式:

注意:
  • 確保您已在Apple 開發者入口網站中為您的應用程式啟用推播通知。
在 FCM 專案設定中新增推播通知憑證。

以上是為什麼 Firebase 雲端訊息傳遞 (FCM) 通知在 iOS 上的後台模式下不保留?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn