共用方式為


WNS 通知優先順序

透過使用 WNS POST 訊息的簡單標頭設定通知的優先順序,您可以控制在電池敏感情況下如何傳送通知。

開啟 Windows 電源

由於更多使用者只能在電池供電的裝置上運作,因此將電源使用量降到最低已成為所有應用程式的標準需求。 如果應用程式耗用的能源超過其提供的價值,使用者可能會卸載這些應用程式。 雖然 Windows 作業系統盡可能減少電池的電源使用量,但應用程式有責任提高運作效率。

WNS 優先順序是將非關鍵工作移出電池的其中一種方式。 WNS 優先順序會告知系統應該立即傳送那些通知,以及哪些通知可以等到裝置插入電源後傳送。 透過這些提示,系統可以在對使用者和應用程式最有價值的確切時間傳送通知。

裝置上的電源模式

每個 Windows 裝置都會透過各種電源模式運作 (電池、省電模式和充電),而且使用者期望不同電源模式下的應用程式有不同的行為。 裝置開啟時,應該傳送所有通知。 在省電模式中,應該只傳送最重要的通知。 當裝置插入時,可以完成同步處理或非時間危急作業。

Windows 無法得知哪些通知對於任何使用者或應用程式而言是重要的,因此系統完全依賴應用程式設定其通知的正確優先順序。

優先順序

傳送推播通知時,應用程式可以使用四個優先順序。 優先順序是針對各個通知設定的,可讓您選擇哪些通知需要立即傳送 (例如,IM 訊息) 以及哪些通知可以等待 (例如,聯絡人照片更新)。

優先順序是:

優先順序 使用者覆寫 描述 範例
是 – 使用者可以封鎖來自應用程式的所有通知,或者可以防止應用程式在省電模式中被限制。 裝置可以接收通知時,必須立即傳送的最重要通知。 像是 VoIP 通話或重要警示的通知應該屬於這個類別,它們應該能夠喚醒裝置。 VoIP 通話,時間危急警示
是 – 使用者可以封鎖來自應用程式的所有通知,或者可以防止應用程式在省電模式中被限制。 這些不是那麼重要的事情,不需要立即發生,但如果使用者不在背景中執行,就會很惱火。 次要電子郵件帳戶同步處理,動態圖標更新。
是 – 使用者可以封鎖來自應用程式的所有通知,或者可以防止應用程式在省電模式中被限制。 這些通知只有在使用者使用裝置時或背景活動有意義時才有意義。 這些資訊會被快取,直到使用者登入或插入裝置後才進行處理。 聯絡人狀態 (線上/離線)

請注意,許多應用程式在其生命週期中會有不同優先順序的通知。 由於優先順序是根據每個通知設定的,因此這不是問題。 VoIP 應用程式可以為來電傳送高優先順序通知,然後在聯絡人在線上時傳送低優先順序通知。

設定優先順序

設定通知請求的優先順序是透過 POST 要求上的附加標頭完成的,X-WNS-PRIORITY。 這是介於 1 到 4 之間的整數值,對應至優先順序:

優先順序名稱 X-WNS-PRIORITY 值 預設值:
1 快顯通知
2 圖標和徽章
3 Raw

若要回溯相容,不需要設定優先順序。 如果應用程式未設定通知的優先順序,系統會提供預設優先順序。 預設值如上表所示,與現有 Windows 版本的行為相符。

桌面行為的詳細清單

如果您要在許多不同的 Windows SKU 上傳送您的應用程式,通常最好遵循上一節中的圖表。

下面列出了每個優先順序的更具體的建議行為。 這並不能保證每個裝備都能完全按照圖表運作。 OEM 可以自由地以不同的方式設定行為,但大部分都接近此圖表。

裝置狀態 優先順序:高 優先順序:中 優先順序:低 優先順序:非常低
螢幕開啟或插入 交付 交付 交付 交付
螢幕關閉並使用電池 交付 如果使用者豁免:傳遞,否則:快取 如果使用者豁免:傳遞,否則:快取* Cache
已啟用省電模式 如果使用者豁免:傳遞,否則:快取 如果使用者豁免:傳遞,否則:快取 如果使用者豁免:傳遞,否則:快取 Cache
使用電池 + 省電模式啟用 + 螢幕關閉 如果使用者豁免:傳遞,否則:快取 如果使用者豁免:傳遞,否則:快取 如果使用者豁免:傳遞,否則:快取 Cache

請注意,預設情況下,僅針對基於 Windows Phone 的裝置關閉螢幕和電池時才會發送低優先通知。 這是為了維持與預先存在的MPNS原則的相容性。 另請注意,第四個和第五個資料列是相同的,只是呼叫不同的案例。

若要免除應用程式的省電功能,使用者必須轉到 [設定] 中的 [應用程式的電池使用情況],然後選取 [允許應用程式執行後台任務]。此使用者選擇使應用程式免於高、中和低優先通知的省電模式。 您也可以呼叫 BackgroundExecutionManager API ,以程式設計方式要求用戶的許可權。