![](https://developer.android.com/static/images/design/ui/mobile/notifications-hero.png?authuser=0000&hl=zh-tw)
通知旨在提供簡短、即時且相關的資訊: 並在裝置處於閒置狀態時傳送
Android 作業系統可控制通知的許多方面,但您可以全權掌控 其他方面。實作通知時,請按照下列步驟操作:
- 瞭解通知的剖析。
- 選擇符合用途的通知類型。
- 根據通知類型設定通知類別 所選參數
重點整理
- 考量通知的用途:為什麼要提醒使用者?
- 判斷通知權限模式,並思考通知的重要性 通知就是您的應用程式,以及要在使用者歷程中詢問的位置。
- 選擇通知範本。
- 建立通知內容:
- 標題文字應簡明通知內容。
- 內容文字應預覽通知。
- 圖片內容 (如果適用於應用程式內容)。
- 媒體範本的媒體鍵和中繼資料。
- 提供以下功能,讓使用者清楚瞭解通知可以採取哪些行動 根據內容、文字按鈕、輸入或媒體等動作 控制項
- 加入應用程式圖示,並設定應用程式圖示背景顏色。
- 設定要接收通知設定的頻道和類別。如此一來,系統 也能讓使用者自訂要接收及提供的通知類型 優先行為
- 如果您的應用程式可能會一次傳送多則通知,則建議您加入群組通知。
- 前往 Figma 上的 Android UI 套件查看通知 範本。
通知剖析
通知經過特別設計,讓您輕鬆掃描及使用通知 重要元素:
- 主要內容:構成 通知。時間戳記等次要資訊 疊加在主要內容上方
- 人物:如果通知涉及人物,顯示圖片就會明顯凸顯 其餘內容
- 動作:使用者只要輕觸指標圖示,即可展開通知。 這些動作會以個別背景顏色顯示文字標籤 或 HTTP/HTTPS 位置
![](https://developer.android.com/static/images/design/ui/mobile/notifications-1-collapsed.png?authuser=0000&hl=zh-tw)
通知標題和內容
收合時,通知會顯示應用程式圖示、標題文字、時間戳記 展開指標和內容文字。此外,您也可以選擇顯示大型圖示。
![](https://developer.android.com/static/images/design/ui/mobile/notifications-2-header-area.png?authuser=0000&hl=zh-tw)
1 應用程式圖示:應用程式圖示是 應用程式識別的 2D 表示法。以單色顯示 。如果應用程式傳送各種通知,請考慮 將應用程式圖示替換為符號,以便區分不同的 通知。請參閱「套用圖示顏色」一文, 詳細資料。
2 標題文字: 通知或來源,例如使用者的帳戶名稱。內容最多 通知的明顯元素
3 時間戳記:指出通知時間 例如未接來電的時間。
4 展開指標:指出 通知處於收合或展開狀態。
5 內容文字:補充資訊。
6 大型圖示 (選用):圖片可能是 加上適當的訊息 (例如訊息) 強化通知 其中包含傳送者的顯示圖片。
套用圖示顏色
自 Android 12 (API 級別 31) 起,系統會從 您在應用程式中設定的通知顏色。如果應用程式未設定顏色 使用系統主題顏色。原本顏色是灰色。
![](https://developer.android.com/static/images/design/ui/mobile/notifications-3-resulting-styled-app-icon-color.png?authuser=0000&hl=zh-tw)
對於大多數樣式而言,系統只會在通知
前景服務通知。不過,這項規定並沒有
有 MediaStyle
和 DecoratedMediaCustomViewStyle
通知
附加了媒體工作階段
以下程式碼片段說明如何套用圖示顏色。
val notification = Notification.Builder()
.setColor(Color.GREEN)
.setColorized(true)
.setSmallIcon(R.drawable.app_icon)
.setStyle(Notification.DecoratedCustomViewStyle())
.build()
通知動作
![](https://developer.android.com/static/images/design/ui/mobile/notifications-4-action-area.png?authuser=0000&hl=zh-tw)
1 文字按鈕動作
2 填滿動作按鈕
3 建議回覆
4 回覆文字欄位
從 Android 7.0 (API 級別 24) 開始,系統會顯示不含圖示的動作 以因應更多文字配合 Android Wear 裝置和裝置的需求 搭載 Android 6.0 (API 級別 23) 以下版本的應用程式,仍須提供 圖示。
展開檢視畫面
您可以使用展開的檢視畫面,在使用者沒有的情況下顯示更多資訊 正在前往通知。
展開後,通知最多可以提供下列三項資訊: 動作類型:
- 建議的回覆
- 強調動作 (圓形按鈕)
- 標準文字動作
![](https://developer.android.com/static/images/design/ui/mobile/notifications-5-dont-include-text-actions.png?authuser=0000&hl=zh-tw)
錯誤做法
![](https://developer.android.com/static/images/design/ui/mobile/notifications-6-do-let-user-pause.png?authuser=0000&hl=zh-tw)
正確做法
允許在通知中輸入
您能讓使用者透過在通知中直接輸入回覆內容 動作。這項功能專為輸入少量文字而設計,例如回覆 簡訊或記下簡短筆記
如需較長的輸入內容,請將使用者導向您的應用程式,以騰出更多空間, 查看及編輯文字
如果是訊息應用程式,建議您讓通知持續顯示給使用者 已送出回覆,然後等到對話暫停前, 就會自動將其關閉
![](https://developer.android.com/static/images/design/ui/mobile/notifications-7-users-reply-directly.png?authuser=0000&hl=zh-tw)
根據用途選擇通知類型
Google 在 Android 應用程式中使用以下通知範本。這些 也可以針對應用程式的特定程度自訂範本。
您可以在 Figma 上查看 Android UI 套件以取得通知範本。
標準範本
標準範本適用於大部分的通知,簡明扼要 文字、大型圖示 (如果適用) 及動作。
![](https://developer.android.com/static/images/design/ui/mobile/notifications-8-standard-template.png?authuser=0000&hl=zh-tw)
大型文字範本
大型文字範本非常適合顯示較長的文字區塊。這樣就能 使用者展開通知後,即可預覽更多文字。
![](https://developer.android.com/static/images/design/ui/mobile/notifications-9-big-text-template.png?authuser=0000&hl=zh-tw)
整體圖片範本
大型圖片範本是專為包含圖片的通知而設計。時間 收合時,通知會顯示相片的大型圖示縮圖。時間 展開後,通知會顯示較大的預覽畫面。
![](https://developer.android.com/static/images/design/ui/mobile/notifications-10-big-picture-template.png?authuser=0000&hl=zh-tw)
進度範本
進度範本是專為需要時間的使用者啟動的活動而設計 以完成。展開時,使用這個範本的通知會顯示 進度列,並包含「取消」可讓使用者終止 該活動。無法取消的活動並不擔保通知。
![](https://developer.android.com/static/images/design/ui/mobile/notifications-11-progress-template.png?authuser=0000&hl=zh-tw)
媒體範本
這個媒體範本的設計可讓使用者控制目前播放的媒體 還是使用該應用程式播放特定資訊
- 收合時,通知最多可顯示三項動作。大型 圖示可顯示相關圖片,例如相簿封面。
- 展開後,通知會顯示最多五項動作並放大 圖片,或是六個不含圖片的動作背景和其他元素 即會自動沿用圖片的顏色。
![](https://developer.android.com/static/images/design/ui/mobile/notifications-12-media-template.png?authuser=0000&hl=zh-tw)
訊息範本
MessagingStyle 範本專為即時通訊而設計,時間 已展開,顯示此範本的通知可讓使用者回覆訊息 通知方式
![](https://developer.android.com/static/images/design/ui/mobile/notifications-13-messaging-template.png?authuser=0000&hl=zh-tw)
通話範本
請使用 CallStyle 範本產生大型格式通知, 附上大型圖片附件,並註明來電或撥出電話
![](https://developer.android.com/static/images/design/ui/mobile/notifications-call-style.png?authuser=0000&hl=zh-tw)
通知權限
盡可能即時提供相關資訊,大多數的通知 非豁免,意即使用者必須同意接收來自以下類型的通知
這有一個例外狀況:自 Android 13 (API 級別 33) 起,媒體 工作階段和應用程式管理通話,不受要求 使用者同意。先前既有的應用程式也可能符合 已開啟通知詳情請參閱豁免資格。
強烈建議您在應用程式設定中,提供以下通知選項: 允許使用者更新通知偏好設定。
提示使用者選擇接收非豁免通知
針對非豁免通知,提示使用者指定是否要 選用接收通知。明確選擇接受 反之,系統顯示通知時可能覺得實用,反而比較不會造成乾擾。
![](https://developer.android.com/static/images/design/ui/mobile/notifications-14-request-user-permission.png?authuser=0000&hl=zh-tw)
等待顯示通知對話方塊提示:
- 請說明通知提供的福利,以及未授予權限的結果 授予通知權限
- 提供與通知相關的 UI 或功能相關 UI 影響範圍這個使用者介面可以採用任何形式,在應用程式中完美整合: 費用、底部功能表或新手上路畫面範例資訊卡以上任一種 應該可以關閉
- 如果使用者關閉了 第一種是使用無代碼解決方案 AutoML 透過使用者介面建立機器學習模型
自 Android 13 起,使用者可以重新提示使用者授予通知權限。
必要通知
前景服務執行的作業會讓使用者察覺, 且使用者未直接與您的應用程式互動這些服務會顯示狀態列 通知使用者應用程式正在 而且正在使用系統資源
![](https://developer.android.com/static/images/design/ui/mobile/notifications-15-fitness-app-example.png?authuser=0000&hl=zh-tw)
這些程序會耗用大量電力,而且可能使用數據,因此您的應用程式必須讓使用者 以便瞭解這些情況使用者無法關閉 因此,您必須提供動作讓使用者停止 課程中也會快速介紹 Memorystore 這是 Google Cloud 的全代管 Redis 服務
以下範例顯示來自健身應用程式的通知。使用者擁有 開始運動課程,並將前景服務執行個體化 追蹤運動課程應用程式會顯示通知,說明 追蹤步行,且可以選擇查看運動。
不使用通知的時機
請勿針對下列任一用途使用通知:
- 用於交叉宣傳或宣傳其他產品 (嚴格規定 )
- 如果使用者從未開啟應用程式
- 用來與使用者溝通的主要方式
- 鼓勵使用者返回應用程式,但沒有直接價值 ( 例如:「一陣子沒看過你!」)
- 對應用程式評分的要求
- 適用於不需要使用者參與的作業,例如同步處理作業 資訊
- 如要宣告錯誤狀態,應用程式可在使用者未進行互動的情況下復原
- 節慶或生日訊息
![](https://developer.android.com/static/images/design/ui/mobile/notifications-16-dont-send-greetings.png?authuser=0000&hl=zh-tw)
錯誤做法
![](https://developer.android.com/static/images/design/ui/mobile/notifications-17-dont-interrupt-user.png?authuser=0000&hl=zh-tw)
錯誤做法
行為
請留意下列通知行為,以及在 在特定情境下進行修正
收到通知
收到通知時,Android 會將其新增至通知導覽匣。 視您設定的參數和裝置目前狀態而定, 通知可能會進行以下動作:
- 發出音效或讓手機震動。
- 顯示在狀態列中並附帶圖示。這通常是應用程式圖示 如果您有多個通知類型,請使用會擷取通知的符號 通知用途
- 顯示為抬頭通知,短暫顯示目前的畫面,以便擷取內容 使用者的注意力
如同以往,使用者可以選擇更改您設定的通知行為。
![](https://developer.android.com/static/images/design/ui/mobile/notifications-arrival.png?authuser=0000&hl=zh-tw)
1 狀態列中的通知指標,表示通知導覽匣中有通知。
2「迅速瀏覽」通知並在工作進行期間抓住使用者的目光。
通知導覽匣
Android 中的通知導覽匣通常會顯示在以下位置: 依時間反向排序,調整機制如下: 條件:
- 應用程式聲明的通知優先順序或重要性
- 該通知最近是否以音效或震動提醒使用者
- 任何與該通知連結的使用者,以及對方是否為標上星號的聯絡人
- 通知是否代表重要的持續性活動,例如 通話中,或是正在播放音樂
- Android 作業系統在以下位置修改部分通知的外觀: 在清單頂端和底部加上強調或強調, 使用者掃描內容
處理過時通知
通知導覽匣旨在向使用者顯示相關資訊 掌握現況如果先前的通知已過時,這就是所謂的 不再相關,請關閉該訊息,這樣使用者就不會再看到。
![](https://developer.android.com/static/images/design/ui/mobile/notifications-20-just-arrived-text.png?authuser=0000&hl=zh-tw)
以應用程式圖示標記表示的新通知
在搭載 Android 8.0 (API 級別 26) 以上版本的裝置上,支援的啟動器中, 應用程式圖示會顯示通知圓點,表示應用程式有新的 或是任何與這則通知相關的通知根據預設,啟動器應用程式會顯示這些圓點 應用程式支援,且不必採取任何行動。徽章 已停用和受限
![](https://developer.android.com/static/images/design/ui/mobile/notifications-21-dot.png?authuser=0000&hl=zh-tw)
使用者可對通知執行的操作
通知可讓使用者執行下列任一動作:
導覽至目的地:如要導航,使用者可能會輕觸通知。如果 當螢幕鎖定畫面上顯示通知時,使用者需要輕觸兩下通知, 然後輸入 PIN 碼、密碼或畫出解鎖圖案。
使用者輕觸通知時,應用程式必須顯示相關的 UI 並讓使用者立即採取行動。適用對象 比如,如果通知指出他們是雙人遊戲交戰 使用者輕觸通知後,就會直接前往該遊戲。
展開通知的檢視畫面: 標題。使用者可以輕觸指標或將通知內文向下滑動, 然後展開該網路。
圖 18:展開的通知 關閉通知 (如果允許):使用者只要滑動通知即可關閉。 左右即可
表示正在背景繼續執行的持續性通知,例如 播放音樂,但不能用滑動的方式關閉
延後抬頭通知:使用者可以將抬頭通知向上滑動 通知,也不會再收到該事件的通知 閃爍一分鐘
日後控管類似的通知:使用者可以存取通知 控制項分類依據:
- 觸控與保存個人通知
- 向左或向右滑動通知,然後輕觸設定圖示
顯示的控制項會因 Android 版本及應用程式是否而異 具備接收通知的管道 (自 Android 8.0 版起)。
將多則通知設為群組
如果應用程式會產生多個相同類型的通知,Android 提供以下優惠: 通知分組,以免造成使用者疲乏。
應用程式可以根據以下條件顯示多則通知 階層
- 家長通知會顯示其子項通知的摘要。
- 如果使用者展開家長通知,Android 會顯示所有子項 通知。
- 使用者可以展開子項通知,以便顯示完整內容。
Android 會顯示子通知,但不含重複的標頭資訊。適用對象 例如,如果子項通知與父項通知使用相同的應用程式圖示,則 子項標題不含圖示。
如果兒童通知是由系統單獨顯示,就必須讓使用者清楚辨識 向群組外的使用者顯示。
![](https://developer.android.com/static/images/design/ui/mobile/notifications-group.png?authuser=0000&hl=zh-tw)
設定
頻道
從 Android 8.0 (API 級別 26) 開始,所有通知都必須指派給 頻道。你可以為每個頻道設定視覺和聽覺行為 會套用至該頻道的所有通知使用者可以變更這些設定 並判斷哪些通知管道會造成乾擾 顯示。
如要進一步瞭解實作方式,請參閱「建立及管理通知」 管道。
選擇重要性時,應考量使用者的時間以及 注意力。當不重要的通知偽裝成緊急通知時, 發出不必要的警示
重要 | 行為 | 用量 | 範例 |
---|---|---|---|
HIGH |
發出音效並顯示在螢幕上 | 使用者必須知道或立即採取行動的重要資訊 | 簡訊、鬧鐘、來電 |
DEFAULT |
發出音效 | 應讓使用者盡早看到的資訊,但不會打斷使用者的操作 | 路況快訊、工作提醒 |
LOW |
沒有聲音 | 不符合其他重要等級要求的通知管道 | 使用者訂閱的新內容、社交網路邀請 |
MIN |
不發出音效或顯示通知 | 可等待或並非明確與使用者相關的非必要資訊 | 附近的觀光景點、天氣和宣傳內容 |
預先定義的類別
無論是否使用頻道,請將個別通知指派給 挑選最合適的預先定義類別Android 可能會根據這項資訊 包括排序和篩選決定
類別 | 說明 |
---|---|
CATEGORY_CALL |
來電 (語音或視訊) 或類似的同步通訊要求 |
CATEGORY_MESSAGE |
外來的直接訊息 (簡訊、即時訊息等) |
CATEGORY_EMAIL |
非同步大型訊息 (電子郵件) |
CATEGORY_EVENT |
日曆活動 |
CATEGORY_PROMO |
促銷訊息或廣告 |
CATEGORY_ALARM |
鬧鐘或計時器 |
CATEGORY_PROGRESS |
長期執行的背景作業進度 |
CATEGORY_SOCIAL |
社交網路或分享更新 |
CATEGORY_ERROR |
背景作業或驗證狀態錯誤 |
CATEGORY_TRANSPORT |
用於播放的媒體傳輸控制 |
CATEGORY_SYSTEM |
系統或裝置狀態更新。留作系統用途。 |
CATEGORY_SERVICE |
執行背景服務的指示 |
CATEGORY_RECOMMENDATION |
針對單一事物的即時具體建議。舉例來說,新聞應用程式可能針對使用者的興趣,提出下一則可閱讀的新聞報導建議 |
CATEGORY_STATUS |
關於裝置或相關內容狀態的持續性資訊 |
螢幕鎖定通知
如果使用者選擇在螢幕鎖定時顯示通知,則 通知可能會隱藏應用程式標示為敏感的任何內容。Android 版 會評估每則通知的瀏覽權限等級,判斷哪些內容可以安全 。
設定螢幕鎖定畫面內容的靈敏程度
使用者隱私至關重要,因此請瞭解 並決定權在鎖定畫面上顯示的通知等級對於每項 您必須將瀏覽權限層級設為 公開、私人、 或秘密。
- 公開通知會完全顯示在安全的螢幕鎖定畫面上。
- 已隱藏密鑰通知。
- 私人通知會顯示在中央:只會顯示基本資訊。
包括發布應用程式的名稱和圖示。而非
一般內容 (隱藏起來),您可以選擇顯示
不會洩露個人資訊,例如
2 new messages
。
以下範例為 Gmail 和相簿的螢幕鎖定通知 使用者選擇在 Google Play 首頁顯示 鎖定螢幕。
![](https://developer.android.com/static/images/design/ui/mobile/notifications-sensitivity-levels.png?authuser=0000&hl=zh-tw)
1 螢幕鎖定畫面上顯示的所有通知內容
2 螢幕鎖定畫面未顯示敏感通知內容
樣式
文字清晰簡潔
Android 會將內容標題截斷為單行 (即使展開時也是如此)。
優質的內容標題必須遵守下列規範:
- 不得超過 30 個半形字元
- 包含最重要的資訊
- 避免變數 (除非包含數字或簡短文字字串,或者 (在文字後方加上)
- 排除標頭中已有的應用程式名稱
![](https://developer.android.com/static/images/design/ui/mobile/notifications-27-takeaways-dont-show-app-name.png?authuser=0000&hl=zh-tw)
錯誤做法
![](https://developer.android.com/static/images/design/ui/mobile/notifications-28-do-show-most-important-info.png?authuser=0000&hl=zh-tw)
正確做法
優質內容文字須符合下列規定:
- 避免超過 40 個半形字元的限制
- 避免在內容標題中重複出現
大型圖示
使用大型圖示時,如果圖像能有效加強 通知內容例如:
- 他人傳送的通訊內容,例如某人的相片 訊息
- 如果內容來源與傳送通知的應用程式不同, 例如使用者訂閱的 YouTube 頻道標誌
- 與通知相關的有意義的符號,例如用於開車的箭頭符號 路線
顯示人物時,大型圖示必須是圓形,其餘圖示則需為正方形 用途
![](https://developer.android.com/static/images/design/ui/mobile/notifications-29-dont-use-large-icon-branding.png?authuser=0000&hl=zh-tw)
錯誤做法
![](https://developer.android.com/static/images/design/ui/mobile/notifications-30-do-use-large-icon-reinforce-meaning.png?authuser=0000&hl=zh-tw)
正確做法
Android 版本更新
持續改善 Android 通知系統 UI 和通知相關 API 持續進化。如需這些變更的清單,請查閱通知 相容性。
平台注意事項
Wear
如果使用者擁有已配對的 Wear OS 裝置,則所有通知會顯示在該裝置上 包括可展開的詳細資料和動作按鈕。詳情請參閱 Wear 通知設計頁面。