通知

通知旨在提供簡短、即時且相關的資訊: 並在裝置處於閒置狀態時傳送

Android 作業系統可控制通知的許多方面,但您可以全權掌控 其他方面。實作通知時,請按照下列步驟操作:

  1. 瞭解通知的剖析。
  2. 選擇符合用途的通知類型。
  3. 根據通知類型設定通知類別 所選參數

重點整理

  • 考量通知的用途:為什麼要提醒使用者?
  • 判斷通知權限模式,並思考通知的重要性 通知就是您的應用程式,以及要在使用者歷程中詢問的位置。
  • 選擇通知範本。
  • 建立通知內容:
    • 標題文字應簡明通知內容。
    • 內容文字應預覽通知。
    • 圖片內容 (如果適用於應用程式內容)。
    • 媒體範本的媒體鍵和中繼資料。
  • 提供以下功能,讓使用者清楚瞭解通知可以採取哪些行動 根據內容、文字按鈕、輸入或媒體等動作 控制項
  • 加入應用程式圖示,並設定應用程式圖示背景顏色。
  • 設定要接收通知設定的頻道和類別。如此一來,系統 也能讓使用者自訂要接收及提供的通知類型 優先行為
  • 如果您的應用程式可能會一次傳送多則通知,則建議您加入群組通知。
  • 前往 Figma 上的 Android UI 套件查看通知 範本。

通知剖析

通知經過特別設計,讓您輕鬆掃描及使用通知 重要元素:

  • 主要內容:構成 通知。時間戳記等次要資訊 疊加在主要內容上方
  • 人物:如果通知涉及人物,顯示圖片就會明顯凸顯 其餘內容
  • 動作:使用者只要輕觸指標圖示,即可展開通知。 這些動作會以個別背景顏色顯示文字標籤 或 HTTP/HTTPS 位置
,瞭解如何調查及移除這項存取權。
圖 1:收合的通知

通知標題和內容

收合時,通知會顯示應用程式圖示、標題文字、時間戳記 展開指標和內容文字。此外,您也可以選擇顯示大型圖示。

圖 2:通知標頭區域

1 應用程式圖示:應用程式圖示是 應用程式識別的 2D 表示法。以單色顯示 。如果應用程式傳送各種通知,請考慮 將應用程式圖示替換為符號,以便區分不同的 通知。請參閱「套用圖示顏色」一文, 詳細資料。

2 標題文字: 通知或來源,例如使用者的帳戶名稱。內容最多 通知的明顯元素

3 時間戳記:指出通知時間 例如未接來電的時間。

4 展開指標:指出 通知處於收合或展開狀態。

5 內容文字:補充資訊。

6 大型圖示 (選用):圖片可能是 加上適當的訊息 (例如訊息) 強化通知 其中包含傳送者的顯示圖片。

套用圖示顏色

自 Android 12 (API 級別 31) 起,系統會從 您在應用程式中設定的通知顏色。如果應用程式未設定顏色 使用系統主題顏色。原本顏色是灰色。

圖 3:產生的樣式化應用程式圖示顏色

對於大多數樣式而言,系統只會在通知 前景服務通知。不過,這項規定並沒有 有 MediaStyleDecoratedMediaCustomViewStyle 通知 附加了媒體工作階段

以下程式碼片段說明如何套用圖示顏色。

val notification = Notification.Builder()
    .setColor(Color.GREEN)
    .setColorized(true)
    .setSmallIcon(R.drawable.app_icon)
    .setStyle(Notification.DecoratedCustomViewStyle())
    .build()

通知動作

圖 4:通知動作區域

1 文字按鈕動作

2 填滿動作按鈕

3 建議回覆

4 回覆文字欄位

從 Android 7.0 (API 級別 24) 開始,系統會顯示不含圖示的動作 以因應更多文字配合 Android Wear 裝置和裝置的需求 搭載 Android 6.0 (API 級別 23) 以下版本的應用程式,仍須提供 圖示。

展開檢視畫面

您可以使用展開的檢視畫面,在使用者沒有的情況下顯示更多資訊 正在前往通知。

展開後,通知最多可以提供下列三項資訊: 動作類型:

  • 建議的回覆
  • 強調動作 (圓形按鈕)
  • 標準文字動作
包含重複輕觸通知內文行為的文字動作。
讓使用者有機會與通知互動。Google 時鐘應用程式顯示執行中的計時器,但可讓使用者直接透過通知暫停或延長一分鐘。

允許在通知中輸入

您能讓使用者透過在通知中直接輸入回覆內容 動作。這項功能專為輸入少量文字而設計,例如回覆 簡訊或記下簡短筆記

如需較長的輸入內容,請將使用者導向您的應用程式,以騰出更多空間, 查看及編輯文字

如果是訊息應用程式,建議您讓通知持續顯示給使用者 已送出回覆,然後等到對話暫停前, 就會自動將其關閉

圖 5:使用者直接在 Android 訊息中回覆 不必離開通知,輕觸「回覆」

根據用途選擇通知類型

Google 在 Android 應用程式中使用以下通知範本。這些 也可以針對應用程式的特定程度自訂範本。

您可以在 Figma 上查看 Android UI 套件以取得通知範本。

標準範本

標準範本適用於大部分的通知,簡明扼要 文字、大型圖示 (如果適用) 及動作。

圖 6:標準通知範本

大型文字範本

大型文字範本非常適合顯示較長的文字區塊。這樣就能 使用者展開通知後,即可預覽更多文字。

圖 7:大型文字範本,含選項大型圖示

整體圖片範本

大型圖片範本是專為包含圖片的通知而設計。時間 收合時,通知會顯示相片的大型圖示縮圖。時間 展開後,通知會顯示較大的預覽畫面。

圖 8:大型圖片範本

進度範本

進度範本是專為需要時間的使用者啟動的活動而設計 以完成。展開時,使用這個範本的通知會顯示 進度列,並包含「取消」可讓使用者終止 該活動。無法取消的活動並不擔保通知。

圖 9:進度範本

媒體範本

這個媒體範本的設計可讓使用者控制目前播放的媒體 還是使用該應用程式播放特定資訊

  • 收合時,通知最多可顯示三項動作。大型 圖示可顯示相關圖片,例如相簿封面。
  • 展開後,通知會顯示最多五項動作並放大 圖片,或是六個不含圖片的動作背景和其他元素 即會自動沿用圖片的顏色。
,瞭解如何調查及移除這項存取權。
圖 10:媒體範本

訊息範本

MessagingStyle 範本專為即時通訊而設計,時間 已展開,顯示此範本的通知可讓使用者回覆訊息 通知方式

圖 11:訊息範本

通話範本

請使用 CallStyle 範本產生大型格式通知, 附上大型圖片附件,並註明來電或撥出電話

圖 12:呼叫範本

通知權限

盡可能即時提供相關資訊,大多數的通知 非豁免,意即使用者必須同意接收來自以下類型的通知

這有一個例外狀況:自 Android 13 (API 級別 33) 起,媒體 工作階段和應用程式管理通話,不受要求 使用者同意。先前既有的應用程式也可能符合 已開啟通知詳情請參閱豁免資格

強烈建議您在應用程式設定中,提供以下通知選項: 允許使用者更新通知偏好設定

提示使用者選擇接收非豁免通知

針對非豁免通知,提示使用者指定是否要 選用接收通知。明確選擇接受 反之,系統顯示通知時可能覺得實用,反而比較不會造成乾擾。

圖 13:要求使用者同意接收非豁免通知

等待顯示通知對話方塊提示:

  • 請說明通知提供的福利,以及未授予權限的結果 授予通知權限
  • 提供與通知相關的 UI 或功能相關 UI 影響範圍這個使用者介面可以採用任何形式,在應用程式中完美整合: 費用、底部功能表或新手上路畫面範例資訊卡以上任一種 應該可以關閉
  • 如果使用者關閉了 第一種是使用無代碼解決方案 AutoML 透過使用者介面建立機器學習模型

自 Android 13 起,使用者可以重新提示使用者授予通知權限。

必要通知

前景服務執行的作業會讓使用者察覺, 且使用者未直接與您的應用程式互動這些服務會顯示狀態列 通知使用者應用程式正在 而且正在使用系統資源

圖 14:健身應用程式前景服務通知範例

這些程序會耗用大量電力,而且可能使用數據,因此您的應用程式必須讓使用者 以便瞭解這些情況使用者無法關閉 因此,您必須提供動作讓使用者停止 課程中也會快速介紹 Memorystore 這是 Google Cloud 的全代管 Redis 服務

以下範例顯示來自健身應用程式的通知。使用者擁有 開始運動課程,並將前景服務執行個體化 追蹤運動課程應用程式會顯示通知,說明 追蹤步行,且可以選擇查看運動。

不使用通知的時機

請勿針對下列任一用途使用通知:

  • 用於交叉宣傳或宣傳其他產品 (嚴格規定 )
  • 如果使用者從未開啟應用程式
  • 用來與使用者溝通的主要方式
  • 鼓勵使用者返回應用程式,但沒有直接價值 ( 例如:「一陣子沒看過你!」)
  • 對應用程式評分的要求
  • 適用於不需要使用者參與的作業,例如同步處理作業 資訊
  • 如要宣告錯誤狀態,應用程式可在使用者未進行互動的情況下復原
  • 節慶或生日訊息
傳送 以通知形式表示節慶或生日問候語。
在使用者進行任務時中斷使用者,唯一的目的是為了詢問 你做得很好

行為

請留意下列通知行為,以及在 在特定情境下進行修正

收到通知

收到通知時,Android 會將其新增至通知導覽匣。 視您設定的參數和裝置目前狀態而定, 通知可能會進行以下動作:

  • 發出音效或讓手機震動。
  • 顯示在狀態列中並附帶圖示。這通常是應用程式圖示 如果您有多個通知類型,請使用會擷取通知的符號 通知用途
  • 顯示為抬頭通知,短暫顯示目前的畫面,以便擷取內容 使用者的注意力

如同以往,使用者可以選擇更改您設定的通知行為。

圖 15:通知抵達

1 狀態列中的通知指標,表示通知導覽匣中有通知。

2「迅速瀏覽」通知並在工作進行期間抓住使用者的目光。

通知導覽匣

Android 中的通知導覽匣通常會顯示在以下位置: 依時間反向排序,調整機制如下: 條件:

  • 應用程式聲明的通知優先順序或重要性
  • 該通知最近是否以音效或震動提醒使用者
  • 任何與該通知連結的使用者,以及對方是否為標上星號的聯絡人
  • 通知是否代表重要的持續性活動,例如 通話中,或是正在播放音樂
  • Android 作業系統在以下位置修改部分通知的外觀: 在清單頂端和底部加上強調或強調, 使用者掃描內容

處理過時通知

通知導覽匣旨在向使用者顯示相關資訊 掌握現況如果先前的通知已過時,這就是所謂的 不再相關,請關閉該訊息,這樣使用者就不會再看到。

圖 16:剛剛讀的文字顯示在頂端 通知導覽匣,且優先顯示相片優先順序較低的通知 底部

以應用程式圖示標記表示的新通知

在搭載 Android 8.0 (API 級別 26) 以上版本的裝置上,支援的啟動器中, 應用程式圖示會顯示通知圓點,表示應用程式有新的 或是任何與這則通知相關的通知根據預設,啟動器應用程式會顯示這些圓點 應用程式支援,且不必採取任何行動。徽章 已停用和受限

圖 17:應用程式圖示上的通知圓點,代表 應用程式有新的通知

使用者可對通知執行的操作

通知可讓使用者執行下列任一動作:

  • 導覽至目的地:如要導航,使用者可能會輕觸通知。如果 當螢幕鎖定畫面上顯示通知時,使用者需要輕觸兩下通知, 然後輸入 PIN 碼、密碼或畫出解鎖圖案。

    使用者輕觸通知時,應用程式必須顯示相關的 UI 並讓使用者立即採取行動。適用對象 比如,如果通知指出他們是雙人遊戲交戰 使用者輕觸通知後,就會直接前往該遊戲。

  • 展開通知的檢視畫面: 標題。使用者可以輕觸指標或將通知內文向下滑動, 然後展開該網路。

    圖 18:展開的通知
  • 關閉通知 (如果允許):使用者只要滑動通知即可關閉。 左右即可

表示正在背景繼續執行的持續性通知,例如 播放音樂,但不能用滑動的方式關閉

  • 延後抬頭通知:使用者可以將抬頭通知向上滑動 通知,也不會再收到該事件的通知 閃爍一分鐘

  • 日後控管類似的通知:使用者可以存取通知 控制項分類依據:

    • 觸控與保存個人通知
    • 向左或向右滑動通知,然後輕觸設定圖示

顯示的控制項會因 Android 版本及應用程式是否而異 具備接收通知的管道 (自 Android 8.0 版起)。

將多則通知設為群組

如果應用程式會產生多個相同類型的通知,Android 提供以下優惠: 通知分組,以免造成使用者疲乏。

應用程式可以根據以下條件顯示多則通知 階層

  • 家長通知會顯示其子項通知的摘要。
  • 如果使用者展開家長通知,Android 會顯示所有子項 通知。
  • 使用者可以展開子項通知,以便顯示完整內容。

Android 會顯示子通知,但不含重複的標頭資訊。適用對象 例如,如果子項通知與父項通知使用相同的應用程式圖示,則 子項標題不含圖示。

如果兒童通知是由系統單獨顯示,就必須讓使用者清楚辨識 向群組外的使用者顯示。

圖 19:群組通知可收合及展開檢視畫面。

設定

頻道

從 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 首頁顯示 鎖定螢幕。

圖 20:機密程度不同的螢幕鎖定畫面。

1 螢幕鎖定畫面上顯示的所有通知內容

2 螢幕鎖定畫面未顯示敏感通知內容

樣式

文字清晰簡潔

Android 會將內容標題截斷為單行 (即使展開時也是如此)。

優質的內容標題必須遵守下列規範:

  • 不得超過 30 個半形字元
  • 包含最重要的資訊
  • 避免變數 (除非包含數字或簡短文字字串,或者 (在文字後方加上)
  • 排除標頭中已有的應用程式名稱
在內容標題中顯示應用程式名稱,與標題區域重複,並使用可用的字元。
在內容標題中顯示最重要的資訊。

優質內容文字須符合下列規定:

  • 避免超過 40 個半形字元的限制
  • 避免在內容標題中重複出現

大型圖示

使用大型圖示時,如果圖像能有效加強 通知內容例如:

  • 他人傳送的通訊內容,例如某人的相片 訊息
  • 如果內容來源與傳送通知的應用程式不同, 例如使用者訂閱的 YouTube 頻道標誌
  • 與通知相關的有意義的符號,例如用於開車的箭頭符號 路線

顯示人物時,大型圖示必須是圓形,其餘圖示則需為正方形 用途

使用大型圖示代表品牌宣傳。
使用大型圖示強調通知的內容具有意義,例如在訊息通知中附加顯示人物的相片。

Android 版本更新

持續改善 Android 通知系統 UI 和通知相關 API 持續進化。如需這些變更的清單,請查閱通知 相容性

平台注意事項

Wear

如果使用者擁有已配對的 Wear OS 裝置,則所有通知會顯示在該裝置上 包括可展開的詳細資料和動作按鈕。詳情請參閱 Wear 通知設計頁面