系統會優先顯示即時更新通知。系統介面會更顯眼地顯示升級通知,包括通知導覽匣和螢幕鎖定畫面頂端,以及狀態列中的資訊方塊。

宣傳通知資訊卡具有下列外觀特徵:
- 預設為展開
- 無法收合
通知必須符合下列條件,才能視為即時更新:
- 必須是標準/無樣式、
BigTextStyle
、CallStyle
或ProgressStyle
。 - 必須在 Android 資訊清單中要求下列非執行階段權限
android.permission.POST_PROMOTED_NOTIFICATIONS
。 - 必須使用
EXTRA_REQUEST_PROMOTED_ONGOING
或NotificationCompat.Builder#requestPromotedOngoing
申請促銷活動。 - 必須為
ongoing
(設定FLAG_ONGOING_EVENT
)。 - 必須設定
contentTitle
。 - 不得設定任何
customContentView
(不得有RemoteViews
)。 - 不得是使用
setGroupSummary
的群組摘要。 - 不得
setColorized
為TRUE
。 - 通知管道不得有
IMPORTANCE_MIN
。
促銷活動特徵
下列 API 可協助您判斷系統是否會宣傳通知:
Notification.FLAG_PROMOTED_ONGOING
表示通知是否為宣傳內容。Notification.hasPromotableCharacteristics()
會驗證系統是否可以提升通知優先順序。這個方法不會考量使用者是否在設定中停用應用程式的即時更新。NotificationManager.canPostPromotedNotifications()
會檢查應用程式是否可以發布宣傳通知,例如使用者是否在設定中啟用或停用通知。Settings.ACTION_MANAGE_APP_PROMOTED_NOTIFICATIONS
是意圖動作,可讓應用程式將使用者導向「設定」,啟用這項功能。
使用條件
針對進行中、使用者發起且時間敏感的活動,使用即時更新。
進行中
即時更新必須代表正在進行的活動,且有明確的開始和結束時間。如果活動已結束,請勿使用即時更新。請改用標準通知。尚未開始的活動也適用這項規定,但即將開始的活動可以使用即時更新功能。
即時更新代表持續性活動。請勿使用即時更新功能,加快應用程式功能的存取速度。如要這麼做,請使用應用程式小工具或自訂「快速設定」方塊。
- 適用情況:導航期間、通話期間、追蹤叫車服務期間,以及追蹤外送服務期間。
- 不當用途:廣告、宣傳內容、即時通訊訊息、快訊、即將到來的日曆活動,以及快速存取應用程式功能。
使用者初始
大多數即時動態應代表使用者明確觸發的活動,例如開始運動、啟動駕駛導航或叫車。請勿在即時更新中顯示環境資訊,例如使用者的環境、興趣或近期活動。不允許其他方觸發的活動產生即時更新。
有時,使用者可能會執行某項動作,在未來一段時間內啟動活動。舉例來說,如果使用者購買機票或演唱會門票、報名參加比賽,或以其他方式表明日後會參加時間敏感型活動,在這些情況下,系統可能會在預定活動開始時自動顯示即時更新。不過,應用程式必須調整觸發條件,確保只在活動即將開始時顯示。如果使用者明確表示要開始監控背景事件 (例如體育賽事),您就可以開始發布該事件的即時更新。 不過,您也應在相關聯的通知中加入「取消釘選」動作。
時效性
只有在活動期間需要使用者持續關注時,才顯示即時更新。即時更新的主要用途是監控,使用者只要瀏覽即時更新,就能掌握活動的最新狀態,從中獲益良多。
如果活動會在即時更新和一般通知之間轉換,通常適合使用即時更新。舉例來說,在使用者搭機前數小時顯示登機證通知是適當的,但只有在使用者有迫切需求時,通知才應變成即時更新,例如抵達機場或場地,或開始登機時。相反地,使用者不需要持續監控包裹,因此不適合使用即時更新追蹤包裹。
狀態方塊
狀態資訊方塊可讓使用者在通知未顯示時追蹤即時更新。使用 setShortCriticalText
或 setWhen
傳達與進度相關通知的重要狀態資訊。

Notification.Builder#setSmallIcon
。
Notification.Builder#setShortCriticalText
顯示絕對時間。
Notification.Builder#setShortCriticalText
傳達重要資訊。時間
除非通知遭到關閉或更新,否則當時間會觸發通知存續時間的倒數計時。
- 「何時」時間至少要比目前時間晚 2 分鐘:如果目前時間是上午 10:05,而「何時」時間設為上午 10:10,則資訊方塊會顯示「5 分鐘」。
- 如果「何時」時間超過 1 分鐘前,系統就不會顯示通知。
- 如果不希望通知在通知欄中顯示時間,請使用
setShowWhen
FALSE
。
狀態方塊外觀
狀態方塊一律包含圖示,並可選擇是否包含文字。晶片的寬度上限為 96dp。根據下列條件顯示文字:
- 如果少於 7 個字元,則顯示完整文字。
- 如果顯示的文字不到一半,請只顯示圖示。
- 如果顯示的文字超過一半,請盡可能顯示更多文字。
關閉
使用者可以在通知匣中控管通知顯示設定。發布不必要的即時動態更新,可能會導致使用者撤銷應用程式的發布權限。
如要避免使用者完全停用「最新即時資訊」,請勿發布使用者可能會關閉的更新。請勿重新發布使用者已關閉的即時更新。使用 setDeleteIntent
偵測已關閉的更新。
請參閱範例應用程式,試用這些 API。