1.1 iOS設計主題:
- 清晰: 整個系統中,任何字號的文字都必須清晰易讀,圖示表達含義準確易懂,修飾恰到好處,以功能驅動設計。留白、顏色、字型、圖形和其他介面元素能夠巧妙地突出重點內容並傳達互動性。
- 順應: 流暢的動效和清晰美觀的界⾯面有助於使用者理解內容並與之互動,且不會干擾使用者。當內容佔據整屏時,半透明和模糊處理通常會暗示其他更多的內容。減少使⽤用邊框、漸變和陰影,使界⾯面儘可能輕量量化,從⽽而突顯內容。
- 縱深: 清晰的視覺層和生動的動效賦予介面層次感,使其富有活力並有助於理解。使可觸發界⾯面元素更容易被找到能提升體驗的愉悅感,讓使用者在觸發相應功能或者獲取更多內容時不至於茫然無措。當使用者瀏覽內容時,流暢的過渡能夠提供縱深感。
1.2 ios設計原則:
整體美感:
整體美感體現在⼀款App的視覺外觀、互動行為與其功能結合的優異程度。
例如,一款協助使用者完成重要任務的App應該使用不易察覺且不會造成干擾的圖形、標準化控制元件和可預知的互動行為,從而使使用者聚焦在任務本身。 反之,一款沉浸式體驗的App(如遊戲),需要提供一個有吸引力的介面,在鼓勵使用者探索的同時為使用者帶來無窮的樂趣和激動。
一致性:
一致的應用程式通過使用系統提供的介面元素,眾所周知的圖示,標準文字樣式和統一術語來實現熟悉的標準和範例。該應用程式以人們期望的方式結合了功能和行為。
直接操縱:
螢幕內容的直接操作吸引人們並促進理解。使用者在旋轉裝置或使用手勢影響螢幕內容時會遇到直接操作。通過直接操縱,他們可以看到他們行動的直接,明顯的結果。
反饋:
反饋能夠響應互動操作,呈現結果,便於使用者了解情況。系統自帶的iOS的App對使用者的每個操作都提供了明確的反饋。
- 互動元素在點選時會被高亮顯示
- 進度指示器顯示了需要長時間運行的操作進度
- 動效和聲音使使用者能夠更清晰地感知互動行為的結果
隱喻:
當一個 App 的虛擬物件和行為與使用者所熟悉的體驗相似時——無論這種體驗來源於現實⽣生活亦或是數字世界,使用者就能夠更快速地學會使用這款App。 隱喻在 iOS 中能夠起⽤用是因為使用者與螢幕在進行物理上的互動。
- 可以通過移動分層檢視來顯示被遮擋的內容
- 可以拖拽並滑動物件
- 可以切換開關,移動滑塊,滾動數值選擇器
- 可以通過輕掃來翻閱書籍和雜誌
使用者控制:
在 iOS 中,使用者是決策者,而不是App。App可以對使用者行為提出建議,對可能造成嚴重後果的行為發出警告,但不應該直接替⽤使用者做決策。優秀的 App在使用者主導和避免不想要的結果之間找到平衡。為了讓使用者擁有掌控性,App可以使使用者熟悉且可預知的互動元素,讓使用者二次確認破壞性的行為, 並且保證可以停止正在執行中的操作。
1.3 介面元素:
- 欄(Bars): 告知使用者現在在App中所處的位置,提供導航,而且還可能包含按鈕或者其它用來觸發功能和交流資訊的元素。
- 檢視(Views): 包含使用者在App內最關注的資訊,例如文字、圖形、動畫和互動元素的容器。檢視允許使用諸如滾動、插入、刪除和排列之類等互動行為。
- 控制元件(Controls): 觸發功能和傳遞資訊。控制元件包括按鈕、開關、輸入框和進度指示器。
2.應用架構
2.1 無障礙
iOS為視力喪失,聽力喪失和其他殘疾的使用者提供廣泛的輔助功能。
為影象,圖示和界⾯面元素提供替代文字標籤。 替代文字標籤在螢幕上不可見,但它們讓VoiceOver可聽見地描述螢幕上的內容,使視力障礙人士更容易導航。
響應可訪問性首選項。 如果您的應用程式使用UIKit實現其使用者介面,則文字和介面元素會自動適應某些可訪問性首選項,例如粗體和大文字。您的應用還應在適當時檢查並響應輔助功能首選項,例如啟用減少運動的選項時。實現自定義字型的應用程式應嘗試匹配系統字型的可訪問性行為。
使用輔助功能測試您的應用。 除了文字和動作更改外,輔助功能選項還可以更改對比度,反轉顏色,降低透明度等。啟用這些設定並觀察您的應用在啟用這些功能的使用者中的外觀和行為方式。
包括隱藏式字幕和音訊說明。 隱藏式字幕允許聾人和聽力障礙者在視訊中感知口頭對話和其他可聽內容。音訊描述為視障人士提供重要視訊內容的口頭敘述。
使用足夠的顏色對比度。 您的應用中對比度不足會讓每個人都難以閱讀內容。例如,圖示和文字可能與背景混合在一起。線上顏色對比度計算器可幫助您準確分析應用中的顏色對比度,以確保其符合最佳標準。力爭最小對比度為4.5:1,儘管7:1是首選,因為它符合更嚴格的可訪問性標準。有關其他設計指南,請參閱顏色。
2.2 載入中
當內容載入時,空白或靜態螢幕可能會使您的應用程式被凍結,從而導致混淆和沮喪,並可能導致人們離開您的應用。
在載入發生時明確說明。 至少,顯示一個活動微調器,表示正在發生的事情。更好的是,顯示明確的進度,以便使用者可以判斷他們將等待多長時間。 儘快顯示內容。在看到他們期望的螢幕之前,不要讓人們等待內容載入。立即顯示螢幕,並使用佔位符文字,圖形或動畫來確定內容尚不可用的位置。在內容載入時替換這些佔位符元素。儘可能在後臺預載入即將播放的內容,例如在播放動畫或使用者正在導航關卡或選單時。
教育或娛樂人們掩蓋裝載時間。 考慮顯示有關遊戲玩法,娛樂視訊序列列或有趣的佔位符圖形的提示。
自定義載入螢幕: 雖然標準的進度指標通常是正常的,但它們有時會感覺脫離背景。考慮通過自定義動畫和與您的應用或遊戲風格相匹配的元素來設計更加身臨其境的體驗。有關其他指導,請參閱進度指示器。
2.3 模態情景
模態通過阻止人們在完成任務或關閉訊息或檢視之前做其他事情來建立焦點。
盡量減少使用模態。 通常,人們更喜歡以非線性方式與應用互動。考慮建立模態上下文時,只有在獲得某人的注意力,必須完成或放棄任務以繼續使用該應用程式或儲存重要資料時,才能建立模態上下文。
提供一種明顯且安全的退出模態任務的方法。 確保人們在解僱模態檢視時始終知道他們行動的結果。
保持模態任務簡單,簡短,重點突出。 不要在您的應用中建立應用。 如果模態任務過於複雜,人們可能會在進入模態上下文時忽略他們暫停的任務。特別警惕建立涉及檢視層次結構的模態任務,因為使用者可能迷路並忘記如何回溯他們的步驟。如果模態任務必須包含子檢視,請提供層次結構中的單個路路徑以及完成的明確路徑。避免使用“完成”按鈕執行除完成任務之外的其他操作。
如果適用,顯示標識任務的標題。 您還可以在檢視的其他部分中提供更全面描述任務或提供指導的文字。
保留提供必要且理想的可操作資訊的警報。 警報會中斷體驗並需要點選才能解除,因此人們必須認為入侵是有道理的。要了解更多資訊,請參閱警報。
尊重通知首選項。 在“設定”中,使用者可以指定他們希望如何從您的應用接收通知。遵守這些首選項,以便他們不會完全關閉您應用的通知。
不要在彈出框上⽅方顯示模態檢視。 除了警報之外,彈出視窗上不應出現任何內容。在極少數情況下,如果需要在彈出框中執行操作後顯示模態檢視,請在顯
示模態檢視之前關閉彈出視窗。
使用您的應用協調模態檢視外觀。 例如,模態檢視可以包括導航欄。在這種情況下,請使用與應用程式中導航欄相同的外觀。
選擇合適的模態檢視樣式。 您可以使用以下任何一種樣式:
2.4 導航
人們往往不不知道應用程式的導航,直到它不符合他們的期望。您的工作是以支援應⽤程式結構和目的的⽅方式實現導航,而無需關注自身。導航應該感覺自然和熟悉,並且不應該主導介面或將焦點從內容中拉開。在iOS中,有三種主要的導航樣式。
- 分層導航
每個螢幕做一個選擇,直到到達目的地。要前往另一個目的地,您必須回溯您的步驟或從頭開始並做出不同的選擇。設定和郵件使⽤用此導航樣式。 - 平面導航
在多個內容類別之間切換,音樂和APP Store使用此導航樣式 - 內容驅動或體驗驅動的導航
通過內容自由移動,或內容本身定義導航。遊戲,書籍和其他沉浸式應用通常使用此導航樣式。
有些應用程式結合了多種導航。例如,使用平面導航的應用可以在每個類別中實現分層導航。
始終提供清晰的路徑。 人們應該始終知道他們在您的應用中的位置以及如何到達下一個目的地。無論導航風格如何,通過內容的路徑都是合乎邏輯的,可預測的並且易於遵循。一般來說,給人們一個通往每個螢幕的路徑。如果他們需要在多個上下文中檢視螢幕,請考慮使用操作表,警報,彈出視窗或模態檢視。
設計⼀種資訊結構,使其快速輕鬆地獲取內容。 以需要最少數量的點選,滑動和螢幕的⽅方式組織您的資訊結構。
使用觸控⼿手勢建立流動性。 使用最小的摩擦力輕鬆移動介面。例如,您可以讓人們從螢幕側⾯面滑動以返回上一個螢幕。
使用標準導航元件。 儘可能使用標準導航控制元件,例如頁面控制元件,選項卡欄,分段控制元件,表檢視,集合檢視和拆分檢視。使用者已經熟悉這些控制元件,並且會直觀地了解如何繞過您的應用。
使⽤用導航欄遍歷資料層次結構。 導航欄的標題可以顯示層次結構中的當前位置,後退按鈕可以輕鬆返回上⼀個位置。
使用選項卡欄顯示對等類別的內容或功能。 標籤欄可讓人們快速輕鬆地在不同類別之間切換,無論當前位置如何。
當您有多個相同型別內容的頁面時,請使用頁面控制元件。 頁面控制元件清楚地傳達可用頁面數和當前活動頁面數。Weather應用程式使用頁面控制元件來顯示特定於位置的天氣頁面。
2.5 新手上
提供啟動螢幕。 應用程式啟動時會出現啟動螢幕,從而給人的印象是應用程式快速響應,同時允許載入初始內容。此螢幕很快就會被您應用的第一個螢幕取代,因此除了可本地化的文字和互動元素外,它應該與此螢幕非常相似。要了解更多資訊,請參閱啟動螢幕。
以適當的方向發射。 如果您的應用支援縱向和橫向模式,則應使用裝置的當前方向啟動。如果您的應用僅在一個方向上運行,則應始終以該方向啟動,並讓人們在必要時輪換裝置。除非有令人信服的理由,否則橫向模式的應用程式應正確定位,無論裝置是向左還是向右旋轉。有關其他指導,請參閱適應性和佈局。
迅速採取行動。 避免顯示啟動畫面,選單和說明,這樣會縮短內容並開始使用您的應用。相反,讓人們潛入。如果您的應用需要教程或介紹序列,請提供一種跳過它們的方法,而不是向返回的使用者顯示它們。
預計需要幫助。 積極尋找人們可能被卡住的時間。例如,遊戲可以在暫停或角色沒有前進時隨便顯示有用的提示。讓使用者重播教程,以防他們第一次錯過任何內容。
** 堅持教程中的要點。** 為初學者提供指導是好的,但教育並不能代替優秀的應用程式設計。首先,讓您的應用程式直觀。如果需要太多指導,請重新訪問您的應用程式的設計。
讓學習變得有趣和可被發現。 邊做邊學比閱讀指令清單更有趣,更有效。使用動畫和互動性逐步和上下文教學。避免顯示看似互動的螢幕截圖。
避免事先詢問設定資訊。 人們希望應用能夠正常運作。為大多數人設計您的應用程式,讓少數想要不同配置的應用程式調整設定以滿足他們的需求。儘可能從裝置設定和預設值或通過同步服務(如iCloud)派生設定資訊。如果您必須詢問設定資訊,請在第⼀次在應⽤用內提示,並讓使用者稍後在您應用的設定中進行修改。
避免顯示應用內許可協議和免責宣告。 在App下載之前,讓App Store顯示協議和免責宣告。如果您必須在應用程式中包含這些專案,請以平衡的方式整合它們,而不會破壞使用者體驗。
當您的應用重新啟動時,恢復以前的狀態。不要讓人們回溯到您應用中的先前位置。保留並恢復應用的狀態,以便他們可以在中斷的位置繼續操作。
不要讓人們過快或過於頻繁地為您的應用評分。 過快或過於頻繁地要求評級是令人討厭的,並且會減少您收到的有用反饋的數量。為了⿎鼓勵考慮周全的反饋,在要求評級之前,讓人們有時間對您的應用發表意見。始終提供退出評級提示的方法,並且永遠不要強迫使用者為您的應用評分。
不要⿎鼓勵重啟。 重新啟動需要花費時間,使您的應用程式看起來不可靠且難以使用。如果您的應用程式有記憶體或其他問題導致難以運行,除非系統剛啟動,您需要解決這些問題。
2.6 請求許可權
使用者必須授予應用訪問個人資訊的許可權,包括當前位置,日曆,聯絡資訊,提醒和照片。雖然人們很欣賞使用可以訪問此資訊的應⽤用程式的便利性,但他們也希望能夠控制其私有資料。例如,人們喜歡能夠使用自己的實際位置自動標記照片或找到附近的朋友,但他們也希望選擇禁用此類功能。
僅在您的應用明確需要時才會請求個人資料。 對個人資訊的請求持懷疑態度是很自然的,特別是在沒有明顯需要的情況下。確保僅在人們使用明確需要個人資料的功能時才會發出許可權請求。例如,應用可能僅在啟用位置跟蹤功能時請求訪問當前位置。
解釋您的應⽤用需要資訊的原因。 提供自定義文字(稱為目的字元串或用法說明字元串)以顯示在系統的許可權請求警報中,幷包含一個示例。保持文字簡短和
具體,使用句子,並禮貌,所以人們不會感到壓力。無需包含您的應用名稱-系統已標識您的應用。有關開發人員指導,請參閱保護使用者的隱私。
僅在您的應用運行所需時才會在啟動時請求許可權。 如果您的應用程式顯然依賴於他們的個人資訊來操作,則使用者不會被此請求所困擾。
不要不必要地請求位置資訊。 在訪問位置資訊之前,請檢查系統以檢視是否已啟用位置服務。有了這些知識,您可以延遲警報,直到功能真正需要它,或者完全避免警報。
2.7 設定
某些應用可能需要提供一種方法來進行設定或配置選擇,但大多數應用可以避免或延遲這樣做。成功的應用程式可以立即適用於大多數人,同時還提供一些方便的方式來調整體驗。當您將應用程式設計為以大多數人期望的方式運行時,您可以減少對設定的需求。
推斷你可以從系統中得到什麼。 如果您需要有關使用者,裝置或環境的資訊,請儘可能向系統查詢,而不是詢問使用者。例如,不要讓某人輸入他們的郵政編碼,以便您可以提供本地選項,請求使用他們當前位置的許可權。
周到地優先考慮應用程式中的配置選項。 您的應用程式的主螢幕是一個選擇必要或經常更改的好地方。輔助螢幕更適合僅偶爾更改的選項。
在“設定”中公開不經常更改的配置選項。 “設定”應用是在整個系統中進行配置更改的中心位置,但人們必須離開您的應用才能到達目的地。在您的應用程式中直接調整設定會更方便。
在適當的時候提供設定的快捷方式。 如果您的應用包含將使用者定向到“設定”的文字,例如“轉到設定>MyApp>隱私>位置服務”,則會提供一個自動開啟該位置的按鈕。
3.使用者互動
3.1 3D觸控
3DTouch為觸控互動提供了一個全新的維度。使用者可以在支援的裝置中,通過不同力度按壓螢幕來訪問額外的功能。App會通過展示選單、顯示額外內容、播放動畫等方式來進行反饋。使用3DTouch功能不需要學習新的互動手勢,只要輕輕按壓螢幕就可以輕易發現額外的內容。
- 主屏互動(Home Screen Interaction)
在主螢幕中,你可以通過按壓一個支援3DTouch的App圖示來顯示動作皮膚。這個皮膚可以讓你快速執行App程式中的常見任務或檢視有趣的資訊。例如,日曆App就提供了“建立事件”的快捷方式,還顯示了你的“日程安排”中的下⼀個事件。 - 輕按和重壓(Peek and Pop)
輕按可以讓使用者使用3DTouch預覽一項內容,例如頁面、連結或者檔案,預覽視窗處於頁面內容的最前端。只需用手指輕按就能預覽,而抬起手指就能退出預覽。如想要檢視更多資訊,只需重壓,直到預覽視窗彈出並充滿整個螢幕即可。在一些預覽視窗中,你可以向上滑動來顯示相關的操作按鈕。例如,在瀏覽Safari中的網頁時,你可以向上滑動螢幕,實現在“新標籤頁中開啟”,“加入閱讀列列表”和“拷貝”這三個操作。
輕按可以提供實時的、內容豐富的預覽效果: 在理想的情況下,預覽視窗是為了給當前的頁面提供補充資訊,或者幫助你決定是否開啟該頁面。例如,先預覽一下郵件中的連結,再決定是否在Safari中開啟或與朋友共享此連結。輕觸還可以App在可被點選的列表中,通過預覽補充資訊來決定是否選擇該行。
設計⾜足夠⼤大的輕按檢視: 需要設計足夠大的預覽檢視,使手指不會遮擋住內容。並且使用者通過檢視包含的資訊來決定,是否應該重壓開啟完整專案。
輕按和重壓要保證場景的一致性: 如果你在相同型別的元素中有些地方支援輕按和重壓,在其它元素中不支援(比如同一個列表中第一個選項支援3DTouch功能,而第二個選項卻不支援),使用者就會對在什麼地方可以使用這個功能產生混亂,或者認為你的App還是他們的裝置發生了故障。
避免在輕按檢視中顯示按鈕式元素: 如果這時使用者抬起手指來點選皮膚中看起來像按鈕的元素,那麼輕按就會消失。
允許每個輕按檢視都能被重壓: 儘管輕按檢視能提供給人使用者所需的大部分資訊,但如果他們決定直接離開當前頁面,直達該頁面時,那麼輕按也應該能轉換成重壓。重壓展示出的內容也應該和點選該頁面時一樣。
不要讓同一元素具備輕按和編輯選單兩個功能: 當一個專案都啟用兩個功能時,不但會讓使用者感到困惑,也會讓系統難以判斷使用者的意圖。
適時提供操作按鈕: 並不是每個輕按都需要操作按鈕,但這是一個為常見任務提供便捷入口的好方法。如果你的App已經為該專案提供了自定義的觸控操作,那麼在最好在輕按中也加入同樣的操作。
避免加上⼀個操作按鈕來開啟輕按介面: 使用者一般都通過更用力的按壓來開啟他們輕按的專案。所以,沒有必要再提供一個明顯的開啟按鈕。
不要讓輕按成為唯一能執行動作的操作: 並不是所有裝置都支援輕按和重壓,甚至有的使用者會關閉3DTouch功能。你的App應該考慮到其它觸發操作的方式。比如,你的App也可以通過點選和長按時出現的輕按檢視。 - 動態照片(Live Photos)
App可以支援動態照片,按壓照片可以用來檢視動態的照片,包含動作和聲音來再現拍照時前後的片刻。
3.2音訊
使用者通過音量鍵、靜音鍵、耳機聲控和螢幕上的音量調節滑塊控制聲音。很多第三方配件也有聲控功能。音訊可以通過內部或外部揚聲器、耳機輸出,甚至通過支援AirPlay或是藍芽的裝置來無線輸出。無論聲音是你App的重要功能還只是一個點綴,你都應該知道⽤戶對聲音有什麼期待並且去滿足他們。
- 靜音(Silence) 使用者將他們的裝置調至靜音來避免被突發的聲響(比如電話鈴聲和簡訊提示聲)打擾。他們也想要關閉沒有意義的聲音,包括按鍵聲、音效、遊戲背景音樂以及其它音訊反饋。當裝置被設定成靜音後,只能播放使用者確認開啟過的聲音,比如媒體播放中的聲音、鬧鐘、音訊和視訊資訊。
- 聲音(Volume) 無論是使用裝置按鍵或是螢幕中的滑塊,使用者都期望音量的變化會改變整個系統音量,包括音樂聲和App內的音效。但是提示鈴聲音量是例外,它只能在音訊沒有播放的情況下,被單獨調節。
- 耳機(Headphones) 在私密環境中,使用者使用耳機聽聲音,並且能夠解放雙手。當插入耳機時,使用者希望聲音能夠自動繼續播放而不被中斷。當拔掉耳機時,他們希望播放能夠立即暫停。
- 設計良好的音效體驗(Designing a Great Audio Experience)
有時自動調整音量,但不是總體音量: 你的App可以調整特定的音量來達到很棒的音響效果。但是最終的音量還是由系統音量來控制。
可以允許重置音訊: 使用者經常會想要選擇一個不同的音訊輸出裝置。比如,他們會想要用客廳的立體音響、車載收音機或是蘋果電視來聽音樂。請支援這個功能除非你有十足的理由不這麼做。
使用系統自帶的音量視窗來調節音量: 音量視窗是調整音訊的最好方法。這個視窗是可以自定義的,它包括一個音量的滑塊,甚至還包括了一個重置音訊輸出的控制元件。
使用系統自帶音效來實現短音和振動:
如果聲音對你的App十分重要,請先設定音訊型別: 不同的音訊型別中,有的允許聲音被靜音鍵靜音、有的與其它聲音混合、或是允許App在後臺時播放。根據不同的類別和當前裝置的音訊狀態來選擇合適的方案,然後將其配置到你的音訊中去。例如,非必要情況下,請不要打斷使用者正在收聽的來自另一個App的音樂。總之,當你的App在運行時,最好不要改變其原有型別,當然那種需要錄製和重放不同時間音訊的App除外。
當時可以重新播放被打斷的音訊: 有時正在播放的音訊會被另一個App的音訊中斷。暫時性中斷(如來電鈴聲)被認為是可恢復的。永久中斷(如Siri開啟的音樂播放列表)被認為是無法恢復的。當一個可恢復的中斷髮生時,你的APP應該在中斷結束時自動重新播放被打斷的音訊。例如,⼀個正在播放配樂的遊戲和一個播放音訊的多媒體App都應該可以恢復播放。
讓其他App知道何時將暫時性的音訊播放完畢: 如果你的App可能會暫時中斷其他App的音訊,它應該對音訊會話進行適當的標記,這樣其他App就能知道何時可以安全的恢復。
只在特定時間對聲音控制元件有反應: 不管你的App是在前臺還是後臺運行,使用者可以從你App的外部控制音訊播放,比如控制中心或耳機控制。如果你的App正在音訊相關的環境中播放音訊,或者連線到一個支援 AirPlay的裝置上,那麼它可以對音訊控制做出迴應。否則,當控制元件啟用時,你的App不能停止其他App正在播放的音訊。
不要重新定義聲音控制元件: 人們希望音訊控制在所有App中都能保持一致。永遠不要重新定義聲音控制元件。如果你的App不支援相應控制元件,那麼它就不應該對它們做出響應。
3.3身份驗證
可以通過讓使用者進行身份驗證的條件來為他們提供有價值的服務,例如個性化體驗、訪問附加功能、購買內容或同步資料。如果你的App需要認證,那保持登入過程的快速、簡單和自然,就不會讓你的App的體驗感變差。
在所有註冊和登入流程中使用密碼自動填寫: 此功能自動生成並填寫密碼和安全程式碼,以便人們可以在驗證介面中花費更少的時間。所有應用程式都應該支援此功能。有關開發⼈人員指南,請參閱支援密碼自動填寫。
將登陸盡量往後排序: 當人們在做一些有用的事情之前被迫登入時,他們往會放棄這樣的App。在強制使用者登陸前給他們⼀個愛上你的App的機會。在購物App中,讓使用者可以在啟動時能立即瀏覽你的商品,並且只有在他們準備好購買的時候才需要登入。在一個流媒體App中,也在登入前讓使用者可以搜尋你的內容,看看你的App能提供些什麼。
解釋身份驗證的優點,以及如何註冊: 如果你的App需要驗證,請在登入螢幕上展示簡短友好的說明描述使用這個流程的原因及好處。另外,請記住,並不是所有使用你的 App的人從一開始就有一個賬戶。確保你描述了如何獲得一個賬戶,或者提供一個簡單的App內的註冊方式。
顯示合適的鍵盤型別來減少資料輸入: 例如要求填寫Email地址時,顯示Email鍵盤螢幕,其中要包含常用資料輸入的快捷鍵。
永遠不要使用“金鑰”這個術語: 當生物識別認證失效時,金鑰是用於解鎖使用者的iOS裝置,並與Apple Pay進行身份驗證的。
- 臉部識別和觸控(Face ID and Touch ID)
盡量讓你的App支援生物識別認證: Face ID和Touch ID是人們所信任的比較安全、熟悉的認證方法。如果使用者啟用了生物識別認證,你可以假設他們理解它的工作原理,喜歡這份便利,並且願意隨時使用它。請記住,使用者可能會選擇在他們的裝置上禁用生物識別認證,因此你的App要準備好應對這種情況。
向使用者展示一個簡單的驗證方法: 當人們不必選擇如何進行身份驗證時,這是最直觀的一種⽅方法。給他們一個簡單的選項,比如 Face ID,在初始方法失敗時,請求使用者名稱和密碼,在返回剛才的操作。
僅在響應使用者操作時啟動使用者認證: 選擇一些顯眼且明確的操作指示,比如點選一個按鈕,確認使用者是想主動進行身份驗證的。在Face ID的情況下,它也提高了使用者面對攝像頭的可能性。
始終標識身份驗證方法: 例如,使用Face ID在你的App上登入的按鈕,應該被命名為“用Face ID登入”,而不只是“登入”。 **準確使用驗證方法:不要在支援Face ID的裝置上引用Touch ID。同樣,也不要在支援 Touch ID的裝置上引用Face ID。要檢查裝置的功能並使用適當的術語。
總之,不要在你的App中提供選擇生物識別身份驗證的設定: 如果在系統層面啟用了生物識別身份驗證,那麼就假定⽤戶想要使用它。如果你實現了一個App特定的設定,那麼你的 App會要求使用者進行生物識別認證,但是實際上在系統範圍內它是被禁用的。
3.4 資料鍵入
無論是點選介面元素還是使用鍵盤,鍵入資訊都是一個乏味的過程。當⼀款App還沒有提供實際的幫助,就要求使用者大量的鍵入內容,會導致程式變慢,使用者就可能會很快失去耐心,甚至完全放棄這個App。
盡量顯示選項: 資料輸入高效化。例如,考慮使用選擇列表來代替打字,因為從提前設定好的選項中進行選擇,要比打字容易多了。
儘可能的從系統中獲取資訊: 不要強迫使用者提供那些可以自動或是在使用者許可內就能獲取的資訊,比如聯絡人或是日曆資訊。提供合理的預設值:儘可能地預填可能性最大的資訊值。提供準確的預設值可以進行快速決策。
只有在收集完必要的資訊之後才能進行下一步: 在啟動“下一步”或“繼續”按鈕之前,確保所有需要的欄位都有值。使用視覺化按鈕,提示使用者可以繼續 進行下一步。
立刻驗證填寫資訊: 當你在填寫完一份冗長的表格後,又不得不回到前面去糾正錯誤是讓人十分沮喪的。儘可能在輸入後立即檢查欄位值,這樣使用者就可以馬上糾正它們(例如輸入使用者名稱後立馬檢查格式和是否被註冊,而不需要在輸入完密碼後再一起驗證)。
只有在必要時使用文字資訊: 只要在真正需要的資訊,才使用欄位表達。
將資訊列表化以高效預覽: 在列表和集合中,選擇⼀個選項是更容易的。考慮將資訊列成表,以字母順序排序或以另⼀種邏輯⽅方式排序,從而可以快速掃視和選擇(如商品類目以字母排序的方式在列表中展現出來)。
在文字框中顯示提示,以助溝通: 當欄位中沒有其他文字時,文字欄位可以包含如“電子郵件”或“密碼”之類的佔位符文字。當佔位符文字足以表述清楚的話,不要再使用單獨的標籤來進行描述。
3.5 拖放
只要⼀根⼿手指,使用者就可以將選定的照片、文字或其他內容,從一個位置拖到另一個位置來進行移動或複製,然後鬆開手指將其放下。
觸控並按住選擇的內容使它看起來會上升並附著在使用者的手指上。當內容被拖動時,動畫和視覺提示要識別你想放置的位置。當無法放下,或著拖拽只能複製而不是移動時,該系統會顯示別的標識來提醒使用者。
- 原位置和⽬目的地 (Sources and Destinations)
拖放包括將選中的內容從原位置轉移到目的地。這些位置可以在同一集合中,如文字檢視,或分屏模式下兩端的文字檢視。
注意: 在App程式之間拖放的內容是複製檔案,而不是內容本身(即拖動只是將內容複製到另一個應用中而不是移動儲存位置)。 - ⽀支援拖放功能(Supporting Drag and Drop)
拖放是一種高效的、直觀的功能,使用者期望在整個系統中都能實現。如果你的App包含或生成了了文字,照片,視訊,音訊,或者其他使用者想要移動,複製或插入的內容,你的App應該支援拖放功能。
所有可選擇和可編輯的內容都能進行拖放: 可選擇的內容應該是可拖動的可編輯的內容也是可以放置內容的。還要確保你的 App 能夠支援在這些區域複製貼上。
允許將內容放到控制元件上: 總之,配置控制元件要支援資料輸入或選擇(比如文字欄位)接受可放置的內容。
儘可能使⽤用標準文字檢視和輸入框: 系統自帶的這些元件都包含對拖放功能的原生支援。
為提高效率,考慮支援多項拖放: 在很多App里,使用者可以用一根⼿手指拖動一個內容,同時用另一根手指輕敲其它內容,就會在選擇的第一個內容的手指下方顯示出堆疊效果。然後,使用者可以將它們像組一樣拖放到指定的位置。例如,主螢幕允許使用者根據這個方法選中多個App程式圖示,並將其拖放到一個資料夾中。在APP中,如 “照片”,提供了使用者可以在拖拽之前選擇多個物件的選擇模式。
確定在你的 App 中拖放內容是移動還是複製: 一般來說,當原位置和目的地的載體是相同時(在文件中拖動文字),才可以移動,而當它們不同時(在文件之間或App程式之間進行拖動),則使用複製。當然,情況並非總是如此,重點是拖放應該是直觀的。在“提醒”中,列表之間拖動操作是⼀一種移動而不是複製,因為這是使用者想要的。而在 App 程式之間拖放內容就總是複製了。
使用者是應該可以撤銷拖放的: 通常情況下,當使用者無意中將內容放到錯誤的位置時,他們應該能夠使用撤銷來將App返回到之前的狀態。也就是說,被放置的內容可以被移除,如果被放置的內容是從你的App程式里移出的,那麼它應該恢復到原來的位置。 考慮用一下彈簧載入: 有了彈簧載入,使用者可以通過拖動已選擇的內容,並在不放置的情況下暫停,來啟用某些控制元件,比如按鈕和分欄元件。例如,在郵件中,選擇的訊息可以被拖動到導航欄的 Back 按鈕上,以到達郵箱里的其他位置。永遠不要讓彈簧載入成為啟用控制元件的唯一方法。把它當作一種可以被發現的小驚喜。在大多數情況下,一個彈簧載入的控制元件也應該可以響應一個點選手勢。 - 提供可拖動的內容 (Providing Dragged Content)
可以自定義拖動項的預覽: 通常,在使用者⼿手指下顯示被拖動的預覽效果應該是半透明內容,表明拖動正在進行中,並使使用者能夠看到被拖動內容下面的目的地。
儘可能的提供多個拖拽資料的顯示型別,從高保真到低保真排序: 例如,當提供線條稿時,你的App可以按照順序依次提供一個PDF矢量顯示,一個具有透明度的無損PNG影象,以及一個沒有透明度的有損的 JPEG 影象。這樣,使用者就可以選擇最高質量的顯示來匯入到目的地。
將自定義物件的本地版本作為最豐富的資料形式: 例如,一個允許人們拖拽圖表的App應該首先顯示本地的圖表物件。然後,它應該為那些不支援圖表物件的App提供可替代的影象版本。
當你 App 的內容傳輸會比較耗費時間或資源密集的時候,檔案要提供程式擴充套件功能: 檔案提供程式擴充套件,並確保完成,即使你的 App 不再運行也能做到。請注意,只有使用者放下內容後傳輸才會開始。
當你的 App 需要時間傳輸內容時請提供進度指示: 如果內容需要下載或大⽂件需要時間複製時,請提供進度資訊。至少提供內容的總大小,這樣就可以計算出剩餘的時間,並顯示恰當的進度指示器。 - 接收放下的內容(Accepting Dropped Content)
使用視覺提示來識別潛在目的地,並預覽放置內容的效果: 高亮顯示、插入點游標和動畫都是識別目的地的好方法。當內容被拖過來時,檢視可以微妙地閃爍並改變顏色,或者段落可以分開為拖動的影象騰出空間。當螢幕上有多個可能的目的地時,一次只識別一個。如果原位置和目標容器是相同的,那麼可以不需要高亮顯示,除非內容完全從原位置中拖出來,然後重新進入。 當內容被放下時或不再位於目的地之上時,確保不顯示高亮。
自動滾動目的地的內容: 當內容被拖到目的地的邊界之外時,你的App可能需要判斷滾動顯示當前檢視遮擋的內容,或者允許⽤使用者繼續拖動到完全不同的目的地。如果你的App讓使用者進行滾動拖放,那就定義一個區域,當拖拽的專案被放置在上面時,這個區域會自動滾動。例如,當內容被拖到正文區域的頂部或底部時,郵件中的長草稿會自動滾動。標準文字檢視和輸入框會自動採用這 種方式。
提取和展示要能展現出放置的豐富內容: 例如,你的App可以為一個圖表提供的幾種表現形式。如果你的App支援圖表,它可以提取並顯示出原始 圖表物件。如果你的 App 不支援圖表,它可以提取並顯示圖表的影象版本。
只提取放置內容的相關部分: 例如,如果使用者想將某個聯絡人拖到郵件的收件人中,只需提取名稱和電⼦子郵件即可,而不用聯絡人的地址資訊。
當內容放置後,在表檢視和精選檢視中顯示佔位符: 佔位符會暫時指示當內容完成傳輸後,將停留在哪里。
在放置內容需要時間進行傳輸時顯示進度: 預設情況下,當App程式之間發⽣耗時的轉移時,系統會顯示一個App模式警報。可以使用自定義程式的顯示方式,比如在表檢視或集合檢視中顯示佔位符的進度指示器,這樣就不會阻止使用者使用你的 App 了。請注意,只有使用者放下內容後傳輸才會開始。
為放置的內容啟動一個程式時提供反饋: 如果使用者將內容放置到發起任務的一個控制元件上,例如,將視訊上傳至共享站點,就會顯示任務已經開始並通知使用者其進度。
放置失敗時通知使用者: 如果放置的內容不能插入,可能是因為檔案傳輸中斷,要通知使用者放置內容失敗。用適當的樣式來放置文字: 當原位置和目的地支援相同樣式的文字屬性時,放置的文字應該保留其原始字型、字型、大小和其他屬性。否則,放置文字應該採用目的地的樣式。
提供一種直觀的方式,當使用者不能立即撤銷拖放時,可以選擇退出: 例如,一個分享性的App會在放下內容之前提供一箇中間的附加表。這個附加表可以用來提供其他內容,比如狀態訊息(如內容數量和大小),同時還提供一個取消按鍵。當照片被拖進共享的照片流時, App 就顯示了這種方式。
3.6 反饋
反饋讓使用者知道App現在做什麼,發現他們下一步應該做什麼,並且了解行動的結果。
將狀態和其他型別的反饋整合到你的介面中: 理想情況下,使用者可以在不操作或不被打擾的情況下獲得重要資訊。
避免不必要的警報框: 警報框是一種強大的反饋機制,但應該只用於傳遞重要的資訊。如果使用者看到太多包含無關緊要資訊的警報框,他們很快就會學會忽略以後的警報。
- 觸覺反饋(Haptic Feedback)
觸覺技術為使用者提供了一種身體接觸的觸覺反饋,從而獲得使用者關注並強化他們的操作。
請謹慎使用觸覺反饋: 過度使用會引起認知混亂並降低反饋的重要性。
一般來說,觸覺反饋是為了響應使用者發起的操作: 使用者很容易將觸覺與他們所發起的操作聯絡起來。隨意的反饋會讓使用者感到不連貫,以及造成誤解。
不要重新定義反饋型別: 為確保使用者有一致的體驗,請按照預期使用反饋型別。
調整好給使用者觸覺反饋的視覺體驗: 提供視覺和觸覺的反饋,以在操作和結果之間建立更深的聯絡。確保動畫是清晰準確的,在視覺上符合使用者的感受 。
不要依賴單一的交流方式: 並不是所有的裝置都支援全方位的觸覺反饋,如果可以選擇的話,使用者完全可以在設定中禁用該功能。此外,只有當裝置啟用,而你的App是在當前頁面時,觸覺反饋才會發生。通過視覺和聽覺的提示來補充觸覺,以確保重要資訊不不會被遺漏。
當視覺反饋被遮擋時,使用者可以使用觸覺: 比如將一個物件拖到螢幕上的某個位置,被使用者的手指遮住了。這時候生成反饋,讓使用者知道何時到達特定的位置。
在開始反饋之前,確認系統已準備就緒: 因為在提供觸覺反饋時可能會有⼀些延遲,所以最好在請求反饋之前確認系統已提前載入。否則,觸覺反饋可能有很長的延時,導致使用者感覺他們的操作與螢幕上看到的東西沒有聯絡。
同步觸覺和音效: 觸覺不會自動與聲音同步。如果你想使用音效的話,要讓它和觸覺同步。
3.7 檔案處理
使用者在建立、檢視和操作檔案時不用考慮檔案系統。如果你的App需要運行檔案時,儘可能地減少檔案處理的時間。
讓使用者相信檔案即時儲存,除非主動取消或刪除: 一般來說,不要讓使用者去即時儲存檔案。相反,在使用者開啟和關閉檔案,以及切換到另一個App程式時,會定期自動地儲存更改。在某些情況下,例如在編輯現有檔案時,儲存和取消項可能仍然是有意義的,因為它們可以幫助確認何時編輯的內容已經被儲存。
不要提供建立本地檔案的選項: 使用者通常希望所有的檔案都可以在他們的所有裝置上使用。只要有可能,你的App就應該通過iCloud等服務來支援雲檔案儲存。
設計一個直觀的圖形檔案瀏覽介面: 理想情況下,使使用者熟悉的系統文件應用來瀏覽。如果你設計了一個自定義的檔案瀏覽器,請確保它是直觀且高效的。
讓使用者在不離開App程式的情況下預覽檔案:
與其他App共享檔案: 如果可以的話,你的App可以通過文件的擴充套件功能與其他App共享檔案。也可以讓使用者瀏覽和開啟其他App 的檔案。
3.8 手勢
使用者通過在觸控式螢幕上使用手勢來與iOS裝置互動。操作手勢與內容產生了緊密的個人聯絡,增強了對螢幕的直接操縱感。
一般使用標準操作手勢: 使用者熟悉了標準的手勢,就不喜歡被迫學習不同的方法來做相同的事。在遊戲和某些沉浸式App中,自定義手勢是這種體驗的樂趣之一。在一般App中,最好使用標準的手勢,這樣使用者就不用費力去發現或記住它們了。
避免使用標準手勢執行非標準操作: 除非你的App是一個極具可玩性的遊戲,否則重新定義標準手勢會變得混亂和複雜。 不要禁用系統的螢幕邊緣手勢: 除了標準的手勢之外,一些額外的手勢還可以呼叫全域性操作,比如在螢幕的邊緣通過滑動螢幕來顯示主螢幕(在支援的iphone上)、控制中心、通知中心和Dock(在iPad上)。使用者依靠這些手勢來操作每⼀個App程式。
基於介面的導航和操作提供補充性的快捷手勢,而不是替換: 只要有可能,提供一種簡單、直觀的方法來引導或執行操作,即使這意味著需要額外的點選。許多的系統App提供了清晰可點的返回上一頁的按鈕的導航欄。但使用者也可以通過從螢幕的一側滑動來返回。在iPad上,使用者可以按下Home鍵退出到主螢幕,或是使用四指捏合的手勢。
使用多點手勢來增強App的體驗: 雖然涉及多個手指同時操作的手勢不適用於每一個App,但是他們能夠豐富一些App的體驗,譬如遊戲和繪圖App。例如,一個遊戲可能包含多個螢幕控制,比如操縱桿和發射按鈕,就可以同時進行操作。
- 標準⼿手勢(Standard Gestures) 使用者通常期望以下的標準手勢在整個系統和每個App程式中都是相同的。
點選: 啟用一個控制元件或者選擇一個物件。
拖拽: 讓一個元素從一邊移動到另一邊,或者在螢幕內拖動元素。
滑動: 快速滾動或平移。
橫掃: 單指返回上一頁,顯示分屏檢視中的隱藏檢視,滑出列表行中的刪除按鈕,或在輕按顯示操作列表。在iPad中四指操作⽤用來切換App。
雙擊: 放大並居中內容或圖片,或者縮小已放大過的。
捏合: 向外張開時放大,向內捏合時縮小。
長按: 當在可編輯或可選文字中執行時,顯示用於游標定位的放大檢視。在某些與集合檢視類似的檢視中操作,進入物件可編輯的狀態。
搖晃: 撤銷或重做
3.9 近場通訊技術
NFC 使裝置能夠在幾釐米的範圍內進行無線資訊交換。在支援此項功能的裝置上運行iOSApp,可以使用NFC掃描來讀取現實世界相關的電⼦子標籤上的資料。例如,使用者可以掃描一個玩具來連線視訊遊戲,購物者可以掃描店內的標誌來拿到優惠券,或者零售員工可以掃描產品來跟蹤庫存。
- 應用內標籤閱讀(In-App Tag Reading) 一個 App 可以支援單個或多個物件的掃描,當使用者需要掃描某件東西時,系統會彈出⼀一個掃描表。
不鼓勵使用者接觸物理物件: 要掃描標籤,iOS裝置只需簡單地靠近標籤,而不需要觸碰。當要求使用者掃描物件時,使用“掃描”和“靠近”等術語,而不是“點選”和“觸碰”。
使用通俗易懂的術語: 一些人可能不熟悉NFC這個概念。為了讓它變得通俗易懂,應避擴音及技術上的、面向開發者的術語,比如核心NFC、近場通訊、NFC和標籤。相反,要使用大多數人都能明白的友好會話式的術語。
為掃描提供簡潔的指導說明: 提供完整的帶有結束標點符號的句子。確定要掃描的物件,並適當地修改文字以便進行後續掃描。保持⽂文字簡短,避免截斷。
- 背景標籤閱讀(Background Tag Reading) 通過背景標記閱讀,使用者隨時快速掃描標籤,無需先開啟應用程式並啟動掃描。在支援背景標籤讀取的裝置上,只要螢幕亮起,系統就會自動查詢附近的相容標籤。在檢測到標籤與應用程式並將其匹配後,系統會顯示一條通知,使用者可以通過該通知將標籤資料傳送到應用程式進行處理。
支援後臺和應用內標籤閱讀。對於使用不支援背景標記讀取的裝置的使用者,您的應用仍必須提供應用內掃描標記的方式。
3.10 撤銷和重做
許多App允許使用者通過搖晃裝置來撤銷和重做某些操作,比如打字或刪除。當以這種方式啟動時,會出現一個警告框提示使用者確認或取消撤銷(重做)。
簡要描述一下將要撤消或重做的操作: 撤銷和重做的警告提示框標題會自動地包含“撤銷”或是“重做”這樣的字首(以及後面的空格)。你需要在字首後面提供額外的一兩個詞語用來描述什麼會被撤銷或是重做。例如,你可以建立警告提示,例如“撤銷名稱”或“重做地址更改”。
如果你已經使用搖晃手勢進行撤銷和重做,則不要將其用於其他操作: 儘管你可以通過程式設計方式給搖晃手勢賦予多種功能,但卻冒著讓使用者困惑的風險,這樣就會讓你的App更難用。
節制地使用撤銷和重做按鈕: 當App提供多種方法來執行相同的任務時,會讓使用者感到困惑。如果你的App真的需要專有的撤銷和重做按鈕,請使用標準系統提供的圖示,並將它們放在一個預期的位置,比如導航欄中。
只在當前情境中執行撤銷和重做操作: 撤銷和重做必須對當前的(而非之前的)情境有明確直接的影響。
4.系統能力
多工處理(Multitasking)
多工處理功能可以讓你通過iOS裝置上的多工界⾯,或者在 iPad 上使⽤多點觸控⼿勢,隨時從⼀個 App快速切換到另⼀個App。 在 iPad 上,多工處理功能還可以讓你在“幻燈⽚”、“分割檢視”或“畫中畫”模式下同時使⽤兩個App。在螢幕右側向左滑動可以進⼊“幻燈⽚”模式,它能讓你在不離開當前App的情況下暫時性地使⽤第⼆個App,例如在使⽤Safari時快速檢視你的郵件收件箱。“分割檢視”模式可以讓你同時使⽤兩個並排的 App,⽽ “畫中畫” 模式可讓你在使⽤另⼀個 App 時觀看視訊。
設計出⼀個能夠在多工環境中良好運⾏的 App 取決於你的App可以與裝置上的其他App和諧共存。這意味著你的App不應該佔⽤太多 CPU、記憶體、顯示螢幕或者其他系統資源。它應該很好地應對來⾃其他App的突發⼲擾和聲⾳,能快速流暢地在顯示界⾯和後臺來回切換,並且在後臺運⾏時表現得可靠穩定。
做好隨時中斷的準備,並時刻準備著恢復: 你的App能在任何時候被中斷。當中斷髮⽣時,你的App應該快速精準地儲存當前狀態,這樣當⽤戶返回時,就可以⽆縫地從他們離開的地⽅繼續使⽤。確保你的界⾯能夠適應雙倍⾏⾼的狀態列: ⼀些程式中的電話、錄⾳、共享功能在螢幕頂部會顯示額外的⼀個狀態列。在⼀些沒有考慮該情況的App中,這個增加的⾼度會遮擋其他界⾯元素或者把它們擠下去。你需要在這些情況下測試你的 App,確保你的界⾯能夠應對⾃如,並且仍然保持美觀。
需要格外注意和應對暫停操作: 如果你的App是⼀個遊戲或者媒體播放應⽤,請確保你的⽤戶在切換到其他App時也不會錯過任何內容。當他們切換回來時,讓他們從上次離開的地⽅繼續使⽤。
合理處理來⾃應⽤外的聲⾳: 有時你的 App 的⾳頻可能會被來⾃其他 App 或是系統的聲⾳打斷。⽐如,來電鈴聲或是被 Siri 開啟的⾳樂播放列表。當這些情況發⽣時,你的App應該以⽤戶預期的⽅式處理。對於重要的⾳頻⼲擾,⽐如⾳樂播放、⼴播或有聲讀物,你的 App 應該⽴刻暫停其⾳頻。對於短暫的⼲擾,⽐如GPS導航通知,你的App應該暫時降低⾳量或是先暫停⾳頻等待⼲擾結束,再繼續播放。
在後臺完成⽤戶發起的任務: 當⽤戶開啟了⼀個任務,即使離開了App他們也希望任務能夠繼續完成。如果你的App正在執⾏⼀個不需要⽤戶額外輸⼊的任務,請在 App 回到前臺前,在後臺完成它。
有效控制通知次數: ⽆論你的App在前臺、後臺或是完全沒有在運⾏,它都能在特定的時間給⽤戶推送通知。你可以使⽤通知來傳達重要訊息,但是 要避免⽤戶被過多通知煩擾。⽐如,當你的App在後臺時,不要每完成⼀個任務就給⽤戶傳送⼀個通知。相反的,可以讓⽤戶通過返回你的 App 來 檢視任務的完成情況。
通知
⽆論裝置是鎖屏狀態還是正在使⽤中,App都能隨時利⽤通知功能來提供及時和重要的資訊。⽐如,通知可能會在以下⼏種情況發⽣時出現:新訊息到來時、⼀個事件將要發⽣時、有新資料可獲取時或是某些狀態發⽣改變時。⽤戶可以在鎖屏上、螢幕頂部(使⽤裝置時),以及通知中⼼(通過從螢幕 頂部邊緣下滑撥出)看到通知欄。每個通知都包含 App 的名稱、⼀個 App 圖示以及⼀條訊息。 通知也可能伴隨著聲⾳提示,以及 App 圖示上⼩紅點⻆標的出現和更新。
- 提示: 通知可以是本地或是遠端的。本地通知由同⼀個裝置發出和接收。⼀個待辦事項App可以使⽤本地通知來提醒⽤戶⼀個將要到來的會議或是到 期⽇。遠端通知,也叫做推送通知,來⾃⼀個伺服器。⼀個多玩家遊戲就可以使⽤遠端通知讓每個玩家知道什麼時候輪到他們。
- 通知表現 每個 App 的通知⾏為都可以在設定⾥單獨管理。只要是⽀持通知功能的App,你可以完全地啟⽤或禁⽤這個功能。你也可以設定通知是否在通知中⼼和鎖屏上可⻅,是否在 App 圖示上出現⻆標,以及選擇以下⼀種通知樣式
- 橫幅: 當裝置在使⽤時在螢幕頂部出現⼏秒,然後消失。
- 提醒框: 當裝置在使⽤時在螢幕頂部出現,直到被⼿動關閉。
在未鎖屏時點選通知,或是在鎖屏時滑動這項通知,都可以實現以下⼏種⾏為:結束通知、把它從通知中⼼移除,開啟傳送通知的應⽤並展示相關的內 容。⽐如,在未鎖屏的裝置上點選⼀條新的郵件通知,就會開啟郵箱並且顯示新的資訊。
在未鎖屏時,上滑通知或讓它消失,或讓它關閉通知,也可將它從通知中⼼ 移除。
使⽤ 3D Touch 在⼀個通知上按壓,或是在未鎖屏時下滑通知⾯板,就能開啟擴充套件的詳情檢視。這個檢視⽀持⾃定義並且包含最多四個操作按鈕。⽐如, ⼀個待辦事項App可以推送⼀個含有詳情檢視的任務通知,上⾯有可以推遲任務和標記為已完成的按鈕;⼀個⽇歷事件的通知提供了“⼩睡”功能來短 暫推遲事件的鬧鈴。
- 注意: ⽤戶在第⼀次使⽤ App 的時候,會被要求明確地選擇是否接收來⾃該App的通知。如果有⼈選擇不接收通知,他們同樣也能通過訪問“設定” 來選擇接收。
設計⼀個很棒的通知體驗
提供有⽤的通知: ⽤戶開啟通知是為了快速獲得最新訊息,所以你的重點是提供有價值的資訊。通知顯示需要使⽤完整的句⼦,句⾸英⽂字⺟⼤寫,合適的標點符號,並且不要刪減你的資訊——必要時系統會⾃動處理。當通知被關閉時⽤戶很難再記住它們,所以要避免在通知中引導⽤戶開啟你的App, 進⼊指定⻚⾯然後點選指定按鈕來完成⼀些任務。
**即使⽤戶沒有作出迴應,也不要為同⼀件事情傳送多個通知:**⽤戶只有在⽅便時才會處理通知。如果你為同⼀件事傳送了多個通知,並且填滿了通知中⼼,那麼⽤戶就很可能關閉所有來⾃你的App的通知。不要在通知⾥包含你的App的名字和圖示:系統會⾃動在每條通知的頂部顯示這些資訊。
提供描述性⽂字,以便在通知預覽被隱藏時顯示: 根據⽤戶的設定,出於隱私考慮通知預覽可能會被隱藏。在這種情況下,僅顯示你的App圖示和通⽤描述(通知是預設描述)。為了向⽤戶提供⾜夠的內容,你的 App 應該提供能簡潔描述通知內容的⾃定義⽂本,如朋友請求,新評論,提醒或發貨提供聲⾳以輔助你
的通知提醒: 當⽤戶沒有盯著螢幕時,聲⾳是⼀個引起他們注意的絕佳⽅式。當⼀個待辦事項App開始執⾏重要任務時可能就會發出⼀個提示⾳。你的 App 可以使⽤⾃定義聲⾳或是系統的提示⾳來達到效果。如果你使⽤⾃定義的聲⾳,請確保它是簡短、與眾不同並且製作精良的。需要注意的是⽤戶可以隨時地關閉通知提示⾳。他們也可以開啟伴隨著聲⾳的振動——這隻能被⼿動開啟,⽽不是通過你的 App 程式⾃動啟⽤。
考慮提供⼀個詳情檢視: ⼀個通知的詳情檢視提供了關於該通知的更多資訊,並且允許他們在不離開當前環境的情況下去執⾏快捷的操作。這個檢視應該包含有⽤、易識別的資訊,讓⼈感覺就是⼀個你的App的⾃然延伸。它可以包含圖⽚、視訊以及其它內容,它還能在顯示時動態更新。⽐如,⼀個拼⻋ App 就能夠在該窗⼝顯示⼀張地圖,並標出⼀輛⻋正在朝著你當前的位置駛來。
提供直觀、有⽤的操作: ⼀個通知的詳情檢視能最多包含四個操作按鈕。這些按鈕⽤來執⾏常⽤、省時的任務,⽽不⽤開啟你的 App。使⽤簡短、英⽂⾸字⺟⼤寫的名稱明確地描述該操作的含義。⼀個通知的詳情檢視還能在螢幕上撥出⼀個鍵盤⽤來收集執⾏操作需要的資訊。⽐如,⼀個通訊 App 可以允許⽤戶直接在新訊息通知的詳情檢視上回復。
避免展示破壞性的操作: 要在通知詳情檢視⾥展示破壞性操作之前請仔細考量。如果你必須展示它們,確保⽤戶擁有⾜夠的上下⽂資訊,以避免出現意外後果。破壞性的操作應該以紅字呈現。
⻆標
⻆標是⽤來補充說明通知,⽽不能⽤來表示重要的資訊: 需要注意App的⻆標可以被關閉。如果你的App依賴於通過⻆標來傳達重要資訊,就等於你在冒著⽤戶會錯過這些資訊的⻛險。
⻆標僅⽤於通知: ⻆標不應該⽤於顯示其他型別的數字資訊,例如空⽓質量,⽇期,股票價格或天⽓。
保持⻆標實時更新: 當收到對應的訊息時要⽴即更新你的App的⻆標數字。⽤戶只有在看到確切提示之後才會進⼊你的App檢視。請注意,將⻆標上的數字清零意味著同時在通知中⼼移除所有相關的通知欄。
列印
你的 App 可以利⽤系統⾃帶的 AirPrint 技術來使⽤相容的印表機實現圖⽚、PDF 以及其它內容的⽆線列印。當⽤戶在有 AirPrint 功能的應⽤內瀏覽可列印的內容時,他們可以通過點選導航欄或是⼯具欄上的操作按鈕開啟選項⾯板,然後再點選列印按鈕來開啟列印檢視。 這個檢視提供了⼀個可⽤印表機的列表以及⼀些⾃定義選項,⽐如列印的份數、⻚⾯範圍,並且提供了⼀個開始列印的按鈕。 讓列印選項易於發現: 如果你的App有⼀個⼯具欄或是導航欄,請使⽤系統提供的操作按鈕來列印。⽤戶對這個按鈕更加熟悉,並且在其它應⽤中也 是⽤它來列印。如果你的 App 沒有⼯具欄或是導航欄,那麼設計⼀個⾃定 義的列印按鈕來代替。
只在可以列印的情況下才允許列印: 如果在你的螢幕上沒有任何內容或是沒有可⽤的印表機,那麼在⽤戶點選操作按鈕後禁⽤列印按鈕。如果你的App使⽤⾃定義的列印按鈕,在⽆法列印時讓其不可點選或是隱藏它。
提供有⽤的列印選項: 思考⽤戶在列印你的內容時會想要指定哪些選項。可以考慮選擇⻚⾯範圍和列印份數的選項。也可以啟⽤附加的選項,⽐如雙⾯列印,如果這樣有意義並且印表機也⽀持的話。
快速檢視
在你的app中,快速檢視功能可以讓⽤戶預覽Keynote、Numbers、Pages、PDF⽂檔、圖⽚以及其它型別的⽂件,即使你的應⽤並不⽀持這些⽂件格式。也可以使⽤該功能來檢視郵件的附件。在下載附件之後,郵件資訊中會顯示附件的圖示和⽂件名。點選圖示就能預覽附件。
在當前環境下合理地展現預覽窗⼝: 在 iPhone 上,如果你的 App有導航欄,讓預覽檢視下移留出位置給導航欄,就和你的App 其它層級的檢視⼀樣。 在iPad或是沒有導航欄的App內,⽤全屏有導航欄的模態檢視中開啟預覽檢視。通過以上兩種⽅法,導航欄就能提供退出快速檢視狀態的按鈕,以及預覽特定的⼀些按鈕,⽐如分享和標記這樣的操作。如果你的App包含⼀個⼯具欄,那麼預覽特定的按鈕就會在⼯具欄出現⽽不是導航欄。
評級和評價
評級和評價可以幫助⽤戶在考慮是否嘗試App時做出合理的決定。良好的評級和積極的評論意味著你的App能獲得更多下載,⽤戶反饋可以讓你深⼊瞭解你的 App 在現實世界的使⽤情況,從⽽更好地幫助你實現未來的開發⼯作。提供良好的整體體驗是提升評級和⿎勵積極評價的最佳⽅法,但在適當的時候要求提供反饋也很重要。在請求⽤戶對你的App進⾏評級時,請牢記這些注意事項:
在⽤戶與你的 App 有⼀定程度互動後再請求⽤戶對其進⾏評級: 例如,在達到某個遊戲等級或完成某個⽣產任務時提示⽤戶。絕對不要在⽤戶第⼀次使⽤或者進⾏新⼿引導時請求評級。給⽤戶充⾜的時間,讓他們對你的 App 有⾃⼰的意⻅。
不要中斷⽤戶: 特別是當他們在執⾏緊急或壓⼒很⼤的任務時。尋找合適的時機傳送評級請求。
不要變得讓⽤戶討厭: 重複的評級提示可能會刺激,甚⾄可能會讓⽤戶對你的App產⽣負⾯情緒。評級請求⾄少間隔⼀周或兩週,並在⽤戶與你的 App 有進⼀步互動後可以再次提示。
系統評級和審查提示 系統為 App 提供了⼀致且不⼲擾的⽅式來請求⽤戶進⾏評級和評論。要使⽤此功能,你只要識別你的⽤戶在體驗中反饋意⻅的位置。如果⽤戶尚未提供反饋,並且你的App最近也沒有提出請求,那麼系統將顯示⼀個應⽤內提示,請求⽤戶進⾏評級和評論。⽤戶可以點選提供反饋或關閉提示。(在 “設定”中,⽤戶還可以選擇不接收所有已安裝應⽤的評級請求提示。)在365 天的週期內,系統 ⾃動限制每個App的提示顯示次數為三次。
最好使⽤系統提供的提示: 系統的評級提示提供了⼀個熟悉,有效的體驗,旨在使⽤戶的影響最⼩。不要使⽤其他控制元件來請求反饋: 由於系統限制了評級提示出現的頻率,所以嘗試⽤控制元件請求反饋可能會導致不顯示評級提示。
提示: 回覆⽤戶評論是⼀個與⽤戶溝通,解決問題,並可能提⾼App評級的 好⽅法。
截圖
⽤戶可以通過擷取螢幕截圖來捕獲螢幕上顯示的內容。從iOS11開始,螢幕截圖在被擷取後會在螢幕底部以預覽形式簡要顯示。⽤戶可以將預覽圖滑動 到螢幕邊緣來關閉它(如果⽤戶沒有任何操作,預覽窗⼝會在⼏秒鐘後⾃動關閉),點選預覽窗⼝即可快速訪問即時標記和共享⼯具。螢幕截圖被儲存 到“照⽚”中的“截圖”專輯中。
擷取本地螢幕時,請勿更改 App 的界⾯: 系統提供的螢幕截圖功能在擷取截圖時提供了⾜夠的界⾯和功能。⾃定義截圖啟動界⾯的更改和功能是重複的,不必要的,可能會令⼈困惑。如果你的 App 適⽤該功能,當其他⽤戶使⽤該裝置擷取截圖時,可以提醒⽤戶。
電視提供商
你的 App 可以與 TV App 和 single sign-on 進⾏互動,為⽤戶提供⾼度⽅便和⼀致的娛樂體驗。
TV App 互動 TV App 可以全⾯訪問系統的收藏,最近播放的,以及推薦的電影和電視節⽬。
開始並恢復播放 當⽤戶請求在 App 中重放內容時,TV App 會⾃動開啟你移動端的 App, 並向你的移動裝置傳送通知。
確保平滑過渡到你的App: 轉換到移動裝置上的App時,TVApp會變成⿊⾊,且不會顯示啟動螢幕。移動端的App應該在開始播放或恢復內容之前⽴即呈現⿊屏,保持視覺連續性。
⽴即顯示預期內容: ⽤戶期望在你的App轉換完成後,所選內容就開始播放(從App的⿊屏直接跳到播放內容)。避擴音供閃屏,詳細螢幕,介紹 動畫或任何其他花費時間的障礙。這在恢復播放時尤為重要。
不要詢問⽤戶是否要恢復播放: 如果可以恢復播放,則應⾃動執⾏此操作⽽ ⽆需提示確認。
確保為正確的⽤戶播放內容: 如果你的App⽀持多個⽤戶配置⽂件,TVApp可以在發出播放請求時指定配置⽂件。開始播放之前,你的App應⾃動切換⾄這個設定。如果播放請求沒有指定配置⽂件,則請求⽤戶在播放開 始之前選擇⼀個,以便將來可以直接提取此資訊。
載⼊內容 如果載入需要兩秒以上,請考慮顯示⼀個帶有動態載入圖示的⿊⾊螢幕,且不沒有其他內容。
儘可能避免使⽤載入螢幕: 如果您的內容快速載入,則不需要載入螢幕。
儘快開始播放: 如果需要載入螢幕,載入⾜夠的內容之後再開始播放,並繼續在後臺載入剩餘的內容。
設計⿊⾊載入螢幕: 在內容播放的過渡期間,可能會顯示載入螢幕。為了與TVApp的淡⼊淡出功能相融合,所以應該顯示⿊⾊螢幕。 載入螢幕上的內容最⼩化: 如果你⼀定要讓載入螢幕上包含品牌或影象,請儘量保持⿊⾊背景並⽆縫銜接播放。
退出播放 退出播放後,⽤戶仍然在你的 App 中,⽽不是返回到 TV App。不要讓⽤戶迷失⽅向。
顯示⼀個有相關內容的螢幕: 退出播放時,保留⽤戶正在觀看內容的螢幕檢視,幷包含⼀個恢復播放的選項。如果詳細資訊螢幕不可⽤,請顯示⼀個包含⽤戶正在觀看的內容或你的 App 主選單的選單。
準備即時退出: 在收到回放通知後儘快準備退出螢幕,以便⽤戶即使在播放開始後⽴即退出,也可以看到退出畫⾯。
單點登入 許多流⾏的電視提供商允許⽤戶在系統級別登入他們的帳戶,消除了逐個應⽤驗證身份的需要。如果你的App需要電視提供商進⾏身份驗證,請使⽤ 此功能提供最有效的⼊⻔體驗。
當⽤戶在系統級別登入時,避免顯示退出選項: 如果你的App必須包含退出選項,則調⽤該選項,將⽤戶指向“設定”>“電視提供商”以退出其帳戶。
不要通過調整隱私控制來指示⽤戶退出: “設定”>“隱私”中的電視提供商控制不是退出機制。這些設定可以讓⽤戶管理可訪問其電視提供商帳戶的 App。