4

我在運行iOS 10的特定設備上接收推送通知(背景)時遇到問題。其他帶有iOS 9的手機也正常運行。iOS 10 Firebase通知不會在背景上顯示

雖然如果我打開應用程序,通知會顯示我實施的橫幅。爲什麼不顯示任何背景狀態?

閱讀火力文件的東西,我覺得有點困惑

根據以下鏈接https://github.com/firebase/quickstart-ios/blob/master/messaging/FCMSwift/AppDelegate.swift在github上火力例如,在didReceiveRemoteNotification方法,說評論:

//如果當您的應用程序處於 的背景中時,您正在收到通知消息,//直到用戶點擊 啓動應用程序,此回調纔會被觸發。 // TODO:處理數據 通知

因此,它是我的應用程序在後臺,不蘋果做的整個事情,使默認的iOS通知? content_available值是否會干擾此?我也發送通知和數據值。

這裏是我送的JSON的例子:

{ 
    "content_available": true, 
    "priority": "high", 
    "data": { 
     "post_id": "...", 
     "push_id": "..." 
    }, 
    "notification": { 
     "title": "...", 
     "body": "..." 
    }, 
    "registration_ids": ["xxxx"] 
} 

預期的行爲將是:

  1. 應用死:系統會顯示該通知
  2. 應用背景:系統將顯示通知並調用didReceiveRemoteNotification方法。
  3. 應用程序活動:系統不會顯示de通知並調用didReceiveRemoteNotification方法。

對不對?

+1

你有沒有找到解決方案呢? –

回答

2

您的假設是正確的,除了數字2.有幾種情況下,即使您設置了content_avaialable,apple也不會調用didReceiveRemoteNotification。

1)設備具有低電量,並且在節電模式

2)App有「後臺應用程序刷新」禁用

3)其他未公開的場景中蘋果決定不喚醒你的應用程序。出於性能原因,Apple保留不發送通知的權利。儘管如此,如果用戶點擊通知,您將始終在didReceiveRemoteNotification中獲得有效載荷。

+0

聖母!我幾個世紀以來一直禁用我的背景刷新,並忘記了這個問題......在這個問題上掙扎了很多...... – JRafaelM