通知延遲或根本沒出現時,原因幾乎都是設定,不是手機壞了。以下是建議的檢查順序——依「最常成為答案」的程度排列。
按這個順序檢查
1. 專注模式——而且領先幅度很大。 專注模式(勿擾、睡眠、工作、開車,以及任何自訂模式)是通知變安靜最常見的單一原因。陷阱在於:專注模式會依排程或位置自動開啟,所以它可能在你今天根本沒動手的情況下處於啟用狀態。到 設定 → 專注模式 看有沒有模式正在運作,再到 設定 → 專注模式 →[該模式]→ 聯絡人/App——一個模式可以允許某些寄件人通過,同時讓其餘的安靜下來。如果通知在你解鎖手機的瞬間才跳出來,那就是專注模式或摘要在扣住它,不是傳送失敗。
2. 通知摘要。 摘要會收集非緊急通知,在指定時間分批送出。被放進那份清單的 App,看起來就會「延遲」——但那是設計如此。到 設定 → 通知 → 摘要排程,關掉它,或把希望即時送達的 App 移出清單。
3. 單一 App 的通知設定。 每個 App 都有自己的開關,而「允許」不等於「會明顯送達」——App 可以被允許,卻設定成安靜傳送,沒有聲音也沒有橫幅。在 設定 → 通知 →[該 App]裡確認:允許通知 是開的、傳送方式選的是「立即傳送」而不是「安靜傳送」,以及如果希望它能突破專注模式,具時效性通知 要是開的。
4. 低耗電模式。 它會減少背景活動,因而延後「自己主動去抓」的 App 的通知;推播則不受影響仍會送達。所以如果所有通知都延遲、而不是只有幾個 App,它才可能是原因——但它的順位在專注模式和摘要之後,不在之前。開啟時電池圖示會變黃。
5. App 的傳送方式——也就是下一節,因為這裡正是網路上大多數說法出錯的地方。
兩條傳送通道——以及為什麼多數說法是錯的
iOS 用兩種方式送出通知,行為完全不同:
- 推播(APNs)。 App 的伺服器透過 Apple 推播服務送出。App 關閉時會到、背景 App 重新整理關著時會到,甚至 App 被強制關閉後也會到。你的背景設定完全不影響它。
- 擷取(Fetch)。 App 依排程向系統索取新內容。這一種才取決於背景 App 重新整理,而且天生就會延遲——何時執行由系統決定,而且不會太頻繁。
所以打開「背景 App 重新整理」並不能修好一則沒送到的推播,關掉它也不會擋掉推播。它只對第二種有意義。
為什麼 WeChat 和郵件總是最容易延遲
郵件在許多帳號上預設是「擷取」而不是「推播」。用擷取時,系統照自己的排程去收——通常是 15 分鐘到 1 小時一次,低耗電模式下更久。那不是 bug,那是傳送方式。把帳號改成推播(設定 → 郵件 → 帳號 →[該帳號]→ 擷取新資料)才會即時。有些供應商只支援固定間隔的擷取,那它就真的快不了。
WeChat 是另一回事。它主要靠自己的長連線,而不是單純依賴標準推播,而 iOS 對 App 能在背景維持活躍多久有所限制。除此之外,WeChat 還有自己的一套 App 內通知設定,位在系統設定之上——兩層都得放行才行。如果 WeChat 一直延遲、其他 App 都正常,原因通常是這個組合,而不是某個全機開關。
任何「自己維持連線」的通訊 App 都是同樣的模式:改動全機開關之前,先看 App 自己的設定。
五分鐘檢查
- 設定 → 專注模式——現在有模式在運作嗎?
- 設定 → 通知 → 摘要排程——該 App 在裡面嗎?
- 設定 → 通知 →[該 App]——允許通知,而且是立即傳送嗎?
- 電池圖示——低耗電模式開著嗎?
- 郵件帳號——是推播還是擷取?
如果只有一個 App 延遲、其餘準時,問題在該 App 或其伺服器。如果所有 App 的通知都收不到,回到第 1 步。