鍍金池/ 教程/ iOS/ 通知
內(nèi)容視圖
控件
iCloud
導(dǎo)航
網(wǎng)頁剪藏圖標(biāo)
動畫
鍵盤和輸入頁面
設(shè)計策略
臨時視圖
撤銷與重做
交互與反饋
與 iOS 一體化
從概念到產(chǎn)品
品牌推廣
電子錢包
社交媒體
游戲中心
創(chuàng)建尺寸可調(diào)的圖片
案例學(xué)習(xí):從桌面到 iOS
多任務(wù)處理
蘋果支付
色彩和排版
報刊雜志圖標(biāo)
iOS 應(yīng)用解析
啟動和終止
聲音
快速查看
適應(yīng)性和布局
編輯菜單
健康組件
語音輔助
iAd 富媒體廣告
為 iOS 而設(shè)計
標(biāo)志與圖形
應(yīng)用圖標(biāo)
模態(tài)情景
圖標(biāo)與圖片尺寸
路線選擇
在應(yīng)用中購買
應(yīng)用拓展
啟動畫面
術(shù)語和措辭
通知
欄按鈕圖標(biāo)
訪問用戶數(shù)據(jù)
云打印

通知

通知為人們提供即時的重要信息和功能。人們能在多種情況下收到通知,例如在鎖屏界面中,或者在使用應(yīng)用時,或者訪問通知中心時。

通知中心有兩種視圖:通知(Notifications )和最近(Today)。

最近視圖顯示了一個可編輯部件列表。最近窗口部件是一個應(yīng)用擴(kuò)展,它顯示了少量及時和重要的信息或功能,這些信息或功能則是由用戶所關(guān)注的應(yīng)用所提供。舉例來說,日歷窗口部件只顯示了當(dāng)天的事件。點擊其中的一個事件可以喚起日歷應(yīng)用,去打開該事件,用戶接下來便可以在日歷應(yīng)用中編輯該事件或管理其他的事件。

http://wiki.jikexueyuan.com/project/ios-human-interface-guidelines/images/notification_ctr_today_2x.png" alt="" />

通知視圖會顯示那些用戶感興趣的應(yīng)用所發(fā)出的最新通知。用戶可以訪問設(shè)置(Settings)中相應(yīng)應(yīng)用的部分來設(shè)置是否要在通知中心顯示該應(yīng)用的通知。

http://wiki.jikexueyuan.com/project/ios-human-interface-guidelines/images/notification_ctr_notifications_2x.png" alt="" />

當(dāng)用戶感興趣的事件發(fā)生時,iOS 應(yīng)用可以通過通知讓用戶知道,例如:

  • 收到一條消息
  • 事件即將發(fā)生
  • 有新的數(shù)據(jù)可下載了
  • 某些狀態(tài)發(fā)生了變化

在 iOS 8 及以上的版本中,應(yīng)用可以定義用戶在通知中的操作。例如,用戶可以在待辦事項應(yīng)用的通知中就標(biāo)記某事項已完成,而無需再打開應(yīng)用。

iOS 定義了兩種類型的通知。

  • 本地通知(local notification)由應(yīng)用安排待發(fā)送,最終通過iOS發(fā)送到同一設(shè)備中,而不用考慮該應(yīng)用當(dāng)前是否正在前臺運行。例如,日歷或待辦事項應(yīng)用可以安排一條本地通知來提醒人們一個即將到來的會議或者某個到期日。
  • 遠(yuǎn)程通知(remote notification)(也稱為推送通知(push notification))是由應(yīng)用的遠(yuǎn)程服務(wù)器發(fā)送給蘋果推送通知服務(wù)(),然后這類通知會被推送到所有安裝了該應(yīng)用的設(shè)備上。例如,一款在線競技類的游戲,即一種用戶可以在其中和遠(yuǎn)程玩家競賽的游戲,可以更新所有玩家的最新狀態(tài)。

注意:應(yīng)用擴(kuò)展可能會要求遠(yuǎn)程通知發(fā)送到它的容器應(yīng)用中。在這種情況下,容器應(yīng)用常常會在后臺運行來處理通知。想要了解更多關(guān)于應(yīng)用擴(kuò)展的內(nèi)容,請參見應(yīng)用擴(kuò)展

如果當(dāng)你的應(yīng)用正在前臺運行時收到了本地或遠(yuǎn)程的通知,你就應(yīng)該以你的應(yīng)用所特有的方式將信息傳達(dá)給你的用戶。

為了確保用戶能夠自定義他們的通知體驗,你應(yīng)該盡可能多地支持以下的通知類型:

  • 橫條(Banner)
  • 警告框(Alert)
  • 小氣泡(Badge)
  • 聲音(Sound)

注意:在 iOS 8 及之后的版本中,你必須對所有你想發(fā)送給用戶的通知類型進(jìn)行注冊。當(dāng)你第一次進(jìn)行注冊操作時,用戶會收到到一個警告,他們可以在其中操作決定接受或拒絕所有來自你應(yīng)用的通知。無論用戶這時的選擇是什么,他們應(yīng)始終能訪問你應(yīng)用的設(shè)置來更改此項偏好,或者設(shè)置他們想要接收的通知類型。

橫條(banner)是一個小而透明的視圖,會出現(xiàn)在屏幕頂部并在幾秒后消失。用戶還可以在鎖屏中以及通知中心的通知視圖中,看到相應(yīng)形式的橫條。在橫條中,iOS 會顯示通知的內(nèi)容和應(yīng)用的小圖標(biāo)(欲了解更多關(guān)于小圖標(biāo)的內(nèi)容,請參見 應(yīng)用圖標(biāo))。用戶點擊橫條來解除它并切換到發(fā)送該通知的應(yīng)用。

http://wiki.jikexueyuan.com/project/ios-human-interface-guidelines/images/notif_ctr_banner_2x.png" alt="" />

除了默認(rèn)的點擊動作之外,當(dāng)用戶輕掃橫條時,你還可以定義兩個動作按鈕。點擊通知動作按鈕來隱藏橫條的顯示并啟動你的應(yīng)用(可能是在后臺)來執(zhí)行動作。

http://wiki.jikexueyuan.com/project/ios-human-interface-guidelines/images/notif_ctr_banner_actions_2x.png" alt="" />

通知提示框( alert )是顯示在屏幕上的標(biāo)準(zhǔn)提示框視圖,需要與用戶交互后才會隱藏。當(dāng)用戶點擊Options按鈕后,你需要提供并顯示通知消息和一個默認(rèn)動作,或最多四個特定動作。提示框的背景樣式不能做修改。

http://wiki.jikexueyuan.com/project/ios-human-interface-guidelines/images/notif_ctr_alert_2x.png" alt="" />

當(dāng)用戶點擊提示框中的一個默認(rèn)或自定義動作按鈕,與此同時 iOS 會解除提示框并運行你的應(yīng)用(可能是在后臺)。點擊關(guān)閉或確定按鈕會在不用打開應(yīng)用的情況下解除提示框。

http://wiki.jikexueyuan.com/project/ios-human-interface-guidelines/images/notif_ctr_alert_actions_2x.png" alt="" />

小氣泡( badge )是一個顯示未讀通知數(shù)量的紅色小圓(小氣泡顯示在應(yīng)用圖標(biāo)的右上角)。小氣泡的大小和顏色不能做修改。

http://wiki.jikexueyuan.com/project/ios-human-interface-guidelines/images/notif_ctr_badge_2x.png" alt="" />

橫幅、警告框和小氣泡這三種通知都可以使用自定義或系統(tǒng)提供的聲音。

在通知中謹(jǐn)慎使用清除性的操作。要確保用戶了解足夠的上下文背景,以避免發(fā)生他們意想不到的后果。為了幫助用戶區(qū)分你所定義的清除動作,iOS會用紅色來顯示它。一些情況下,在應(yīng)用執(zhí)行清除操作之前,應(yīng)該請求用戶進(jìn)行確認(rèn)。舉個例子,如果你在鎖屏的橫條(banner)中提供了一個清除操作,那么就應(yīng)確保只有設(shè)備的主人才能執(zhí)行該操作(你需要在代碼上實現(xiàn)這一需求)。

為每個動作按鈕提供自定義標(biāo)題。創(chuàng)建一個簡短的標(biāo)題來描述清楚將要發(fā)生的動作。例如,游戲可能會使用“Play”作為標(biāo)題來表明,點擊這個按鈕會打開應(yīng)用來進(jìn)行游戲。確保標(biāo)題:

  • 使用標(biāo)題樣式的大小寫(title-style capitalization)
  • 足夠簡短,能不被截斷地顯示在按鈕內(nèi)(也應(yīng)確保測試各種語言文字的標(biāo)題顯示正常)

不要為同一個事件重復(fù)發(fā)送通知。用戶可以選擇處理通知項;通知項在用戶未處理前會一直顯示。如果為同一事件重復(fù)發(fā)送通知,這將會導(dǎo)致通知中心充滿通知,而用戶有可能會因此關(guān)閉你應(yīng)用的通知。

不要在通知消息中包含你的應(yīng)用名稱。自定義信息會在提示框和橫條中顯示,也會在通知中心中以通知的形式顯示。你無需在自定義信息中顯示你的應(yīng)用名稱,因為iOS會在顯示信息的同時自動顯示應(yīng)用名稱。

為了使本地或遠(yuǎn)程通知信息更有作用,你應(yīng)該:

  • 專注于信息而不是用戶的行為。避免告訴人們點擊哪個按鈕或如何打開你的應(yīng)用。
  • 足夠簡短,一兩行就可以顯示完整。較長的信息對于用戶來說很難進(jìn)行快速閱讀,也會造成在警告框中需要滾動才能查看完整。 使用句式大小寫( sentence-style capitalization ),并配以合適的結(jié)束語句符號。如果可以,盡量使用一個整句。

注意:在必要的情況下,iOS 會縮短你的消息以便能在各種通知發(fā)送樣式下顯示;為了最好的效果,你不應(yīng)主動縮減你的消息。

保持氣泡內(nèi)容總是最新。在用戶已經(jīng)處理了新消息時,如何及時的更新氣泡就顯得尤為重要,這樣才不會讓用戶以為又有額外的新消息到達(dá)。注意,當(dāng)小氣泡內(nèi)容設(shè)置為 0 時,也會導(dǎo)致通知中心中相應(yīng)的通知項被移除。

重要:不要將小氣泡用作通知以外的其他用途。記住,用戶能夠關(guān)閉應(yīng)用的小氣泡,這時你將無法確定他們是否看到了小氣泡中的內(nèi)容。

當(dāng)收到通知時,提供用戶可以選擇聽到的音效。當(dāng)人們沒有在看屏幕的時候,可以通過音效獲取他們的注意。例如,日歷應(yīng)用可能會在顯示提示框的同時播放一個音效來提醒人們一個即將到來的事件。再如,協(xié)作任務(wù)管理應(yīng)用可能會在小氣泡更新時播放一個音效來告知某個遠(yuǎn)程協(xié)同的同事已經(jīng)完成了某個任務(wù)。

你可以提供自定義的音效,或者使用內(nèi)置的提示音。如果你創(chuàng)建了自定義音效,請確保它是簡短的、有特色的并且是經(jīng)由專業(yè)制作的。注意到,當(dāng)通知交付時,你無法通過編程實現(xiàn)設(shè)備振動,因為用戶才具有設(shè)置提示到達(dá)時是否振動的權(quán)限。