Firebase 雲端訊息傳遞(FCM):當應用程式在iOS 上處於後台模式時未收到通知
FCM 允許開發者將推播通知傳送到iOS 和Android 裝置。當應用程式在背景時未收到通知時,就會出現此問題。
可能原因:
- 發送通知的 PHP 程式碼不正確。
- iOS 應用程式缺乏後台模式支援。
解決方案:
PHP 代碼:
-
將以下欄位加入您的PHP 負載中:
- 'content_available' =>; true(當iOS 應用程式在後台時觸發)
- 'priority' => '高'
- '通知'=> $data(將$data 替換為您想要的通知資料)
- 將$data 設定為包含具有自訂值的「message」和「 body”鍵。
iOS 應用程式:
- 檢查 .gcm 檔案是否包含在您的 Xcode 專案中。
- 確保 AppDelegate 符合 GCMReceiverDelegate。
- 重寫 applicationDidBecomeActive 和 applicationDidEnterBackground 方法分別(重新)連接和斷開與 FCM 的連接。
- 使用 UIRemoteNotificationType 註冊通知。
- 實作 application:didReceiveRemoteNotification: 方法來處理收到的通知,甚至當應用程式在背景時。
- 如果需要,請實作 application:didReceiveRemoteNotification:fetchCompletionHandler: 方法以進一步處理在背景收到的通知。
更新的PHP 代碼:
更新的iOS 應用程式:
注意:
-
- 確保您已在Apple 開發者入口網站中為您的應用程式啟用推播通知。
在 FCM 專案設定中新增推播通知憑證。
以上是為什麼 Firebase 雲端訊息傳遞 (FCM) 通知在 iOS 上的後台模式下不保留?的詳細內容。更多資訊請關注PHP中文網其他相關文章!