iOS 9人機(jī)界面指南(三):iOS 技術(shù) (上)
![](http://image.woshipm.com/wp-files/img/85.jpg)
3.1 3D觸摸(3D Touch)
3D Touch 給 iOS 9 用戶提供了一個(gè)新的交互維度。在所支持3DTouch的設(shè)備上,人們可以通過按壓應(yīng)用的圖標(biāo)去快速選擇應(yīng)用定制的操作。在應(yīng)用內(nèi),人們可以使用多種按壓操作去獲取一個(gè)項(xiàng)目的預(yù)覽,可以在獨(dú)立的視圖里打開一個(gè)項(xiàng)獲取相關(guān)操作。(了解更多在你的代碼中如何添加3D Touch支持,參閱?Adopting3DTouchoniPhone
3.1.1?輕壓和重壓(Peek and Pop)
輕壓讓用戶可以在不離開他們當(dāng)前環(huán)境的情況下預(yù)覽一個(gè)項(xiàng)和執(zhí)行相關(guān)操作。支持輕壓的該項(xiàng)會(huì)在輕壓后給出一個(gè)小矩形視圖作為反饋。
在Safari中的一個(gè)輕壓視圖
在Safari輕壓中的快速操作
輕壓(Peek):
- 當(dāng)用戶按壓在一個(gè)支持輕壓的項(xiàng)上時(shí)出現(xiàn)輕壓,用戶手指抬起后會(huì)消失
- 當(dāng)用戶在輕壓視圖下再更加重一點(diǎn)的按壓稱之為重壓,重壓可以查看該項(xiàng)的詳細(xì)視圖
- 當(dāng)用戶在輕壓視圖中向上滑動(dòng),可以提供與該項(xiàng)相關(guān)的快速操作
當(dāng)用戶輕輕按壓在屏幕,支持輕壓的這個(gè)項(xiàng)會(huì)展示一個(gè)你提供的矩形視圖,示意可以進(jìn)行下一步交互操作。那個(gè)視圖應(yīng)該夠大,這樣才能讓用戶手指不會(huì)混淆內(nèi)容,這個(gè)視圖應(yīng)該足夠細(xì)節(jié),這樣可以讓用戶選擇是否去更加重一點(diǎn)按壓從而轉(zhuǎn)換到輕壓視圖。
重要
你在應(yīng)用中始終如一提供輕壓和重壓的體驗(yàn)是至關(guān)重要的。如果你在有些地方支持輕壓和重壓,在某些地方不支持,用戶有可能認(rèn)為你的應(yīng)用或者他們的設(shè)備出現(xiàn)了問題。
使用輕壓去為該項(xiàng)提供一個(gè)生動(dòng)的,內(nèi)容豐富的預(yù)覽。當(dāng)輕壓能夠給用戶提供關(guān)于該項(xiàng)的足夠信息,從而幫助他們擴(kuò)展當(dāng)前的任務(wù),這樣做是最好的。例如,在用戶決定好是在Safari中打開信息中的網(wǎng)頁(yè)還是分享這個(gè)鏈接給朋友之前,用戶可以使用輕壓預(yù)覽信息中URL的頁(yè)面。在表單視圖中,輕壓可以給用戶提供一個(gè)行項(xiàng)的詳細(xì)內(nèi)容。
為每個(gè)輕壓提供重壓。雖然一個(gè)輕壓可以提供給用戶所需要的大部分信息,但是你應(yīng)該可以讓用戶過渡到重壓,從而讓用戶放開當(dāng)前正在進(jìn)行的任務(wù),轉(zhuǎn)移專注力到該項(xiàng)上來。重壓的內(nèi)容應(yīng)該與用戶點(diǎn)擊該項(xiàng)后的內(nèi)容一致。
不要為同樣一個(gè)項(xiàng)授予輕壓和編輯菜單( menu)兩個(gè)功能。當(dāng)同一個(gè)項(xiàng)的這兩個(gè)功能都啟用的時(shí)會(huì)很混亂。(獲取更多編輯菜單信息,參看?Edit Menu.)
在輕壓操作里,避免展現(xiàn)類似按鈕的界面元素。如果用戶抬起手指去點(diǎn)擊像按鈕的元素,輕壓會(huì)消失。
如果可能,提供輕壓快捷操作。?在輕壓里,用戶可以向上滑動(dòng)去顯示該項(xiàng)的相關(guān)操作。例如,Mail里的輕壓快捷操作包括回復(fù)全部,轉(zhuǎn)發(fā)和刪除信息。并不是每個(gè)輕壓都需要快捷操作,但是如果你已經(jīng)為該項(xiàng)提供定制的點(diǎn)擊并長(zhǎng)按的操作,那么最好在輕壓里提供相同的操作從而替代點(diǎn)擊并長(zhǎng)按操作。(注意在網(wǎng)頁(yè)視圖中,輕壓快速操作是自動(dòng)提供的。)
不要將輕壓作為唯一開啟該項(xiàng)的指定操作的方式。不是每一個(gè)設(shè)備都支持輕壓和重壓,一些用戶可能選擇關(guān)掉3D Touch, 因此在你的應(yīng)用中去尋找其他方式實(shí)現(xiàn)輕壓的功能是非常重要的。當(dāng)你的應(yīng)用在較舊的設(shè)備上運(yùn)行時(shí),可以把輕壓的快捷操作映射到一個(gè)視圖里,讓用戶通過點(diǎn)擊并長(zhǎng)按獲得。
3.1.2 主屏幕快捷操作(Home Screen Quick Actions)
主屏幕快捷操作可以在主屏幕給用戶呈現(xiàn)方便的、有用的、應(yīng)用特定的操作。
Camara的主屏幕快捷操作
Mail的主屏幕快捷操作
主屏幕快捷操作:
- 當(dāng)用戶在主屏幕采用比點(diǎn)擊且長(zhǎng)按更重的按壓,按壓在應(yīng)用圖片上時(shí),出現(xiàn)屏幕快捷操作
- 它會(huì)顯示一個(gè)你提供的短標(biāo)題,一個(gè)圖標(biāo)和可選的副標(biāo)題
- 它不支持其他定制的內(nèi)容
- 它可以隨著你應(yīng)用的更新,更新顯示的信息
使用主屏幕快捷操作去開啟引人注目的、高價(jià)值的任務(wù)。例如,Maps可以讓用戶不需要打開Maps,通過在當(dāng)前位置附近搜索就可以獲得回家的方向。一個(gè)應(yīng)用至少需要把一個(gè)有用的任務(wù)放在主屏幕快捷操作里;你可以提供最多四個(gè)快捷操作。
避免使用主屏幕快捷操作去減少應(yīng)用里導(dǎo)航的內(nèi)容。如果用戶訪問你應(yīng)用的重要區(qū)域非常困難和耗時(shí),那么首先去修改你的應(yīng)用的導(dǎo)航,這樣做是可以讓所有用戶都獲益的。接著,可以去為有用的深層次鏈接提供主屏幕快捷操作,從而開啟這些有用的、創(chuàng)造性的任務(wù)。
不要把主屏幕快捷操作作為通知用戶的一種方式。iOS用戶期望以其他方式接收應(yīng)用中的信息(更多信息參看?Notifications)。
為主屏快捷操作提供一個(gè)簡(jiǎn)潔的標(biāo)題(可有副標(biāo)題)和一個(gè)模板的圖標(biāo)。標(biāo)題應(yīng)該直接傳達(dá)這個(gè)操作的結(jié)果;例如,“回家的方向”,“新建聯(lián)系人”,和“新建信息”。你也可以提供一個(gè)副標(biāo)題給用戶更多上下文信息。例如,Mail使用一個(gè)副標(biāo)題在主屏快捷操作的重要位置去告訴用戶有未讀信息。?不要把你的應(yīng)用名字或者無關(guān)的信息放在標(biāo)題和副標(biāo)題里,同時(shí)要考慮到使用本地化的用語(yǔ)。
保持標(biāo)題的簡(jiǎn)潔不會(huì)被切斷從而幫助用戶快速理解操作是非常重要的。如果你提供的副標(biāo)題一行顯示不全,系統(tǒng)會(huì)截?cái)啵蝗绻銢]有副標(biāo)題,系統(tǒng)會(huì)把一行展示不完全的長(zhǎng)標(biāo)題以兩行展現(xiàn)。
你可以從很多系統(tǒng)提供的模板圖標(biāo)中選擇圖標(biāo),你也可以創(chuàng)作定制的模板圖標(biāo)。更多關(guān)于圖標(biāo)尺寸、內(nèi)邊距和定位的詳細(xì)引導(dǎo)信息,可以下載主屏快速操圖標(biāo)模板?https://developer.apple.com/design/downloads/Quick-Action-Guides.zip。
更多關(guān)于設(shè)計(jì)模板圖標(biāo)的信息,參看Template Icons。
系統(tǒng)會(huì)自動(dòng)安排圖標(biāo)在快速操作列表中的位置是在左側(cè)或者在右側(cè),這依賴于你的應(yīng)用的圖標(biāo)在用戶主屏幕的位置。(摒除圖標(biāo)在列表中的位置,在自左向右的語(yǔ)言中文字總是左對(duì)齊。)這里有主屏快捷操作的多種展現(xiàn)方式的例子。
3.2 Live Photos
Live Photos 讓用戶在豐富的聲音和動(dòng)作環(huán)境下,捕捉和再現(xiàn)他們喜愛的回憶。從iOS 9開始,相機(jī)(Camera)應(yīng)用可以捕捉附加的內(nèi)容(拍照之前和結(jié)束后的聲音和額外的畫面)為傳統(tǒng)的、靜止的圖片增加生活氣息。
在iOS9.1及之后的版本中,你的應(yīng)用可以讓用戶享受和分享Live Photos。這個(gè)指引可以幫助你給用戶提供更好的體驗(yàn)。
在不支持Live Photo的環(huán)境中,把Live Photo像傳統(tǒng)照片一樣展示。不要在支持Live Photos的環(huán)境中,自定一種與Live Photo相似的體驗(yàn)。
不要分開展現(xiàn)Live Photo的附加畫面和聲音。要讓用戶在不同的應(yīng)用中體驗(yàn)Live Photos時(shí),有一致的視覺呈現(xiàn)和交互方式。把Live Photo拆分開展現(xiàn)是一個(gè)很壞的體驗(yàn)。
確保用戶可以區(qū)分Live Photo 和傳統(tǒng)靜止圖片。在用戶分享照片時(shí),幫助他們做好區(qū)分是特別重要的。最好在用戶查看一個(gè)LivePhoto的時(shí)候,展現(xiàn)一點(diǎn)移動(dòng)作為提示。萬一這個(gè)提示沒有起到作用,你可以在LivePhoto上展示一個(gè)系統(tǒng)提供的標(biāo)記。LivePhoto不要展現(xiàn)一個(gè)像視頻里回放按鈕的界面元素。
注意
上圖這種情況,不支持像照片應(yīng)用里全屏瀏覽滑動(dòng)切換照片時(shí)的顯示的
把用戶所做的調(diào)整應(yīng)用到Live Photo的所有幀中。如果你的應(yīng)用可以讓用戶為照片添加濾鏡或者調(diào)整,應(yīng)確保它可以作用于整個(gè)LivePhoto中。如果你不支持調(diào)整用戶想分享的LivePhoto的所有內(nèi)容,要讓他們知道可以以傳統(tǒng)照片的方式分享。 讓用戶在決定分享前,可以預(yù)覽這個(gè)Live Photo的所有內(nèi)容。如果你的應(yīng)用UI可以讓用戶選擇照片分享,要為他們提供一個(gè)把Live Photo作為傳統(tǒng)照片分享的方式。 如果你使用系統(tǒng)提供的標(biāo)記,應(yīng)該把它放在每個(gè)LivePhoto上同樣的位置。標(biāo)記可以放在一個(gè)不會(huì)影響用戶查看照片的角落。確保在你的應(yīng)用中采用一致的方式添加標(biāo)記,這樣可以讓用戶依靠它去識(shí)別LivePhoto。iOS有兩種方式提供標(biāo)記:
- 覆蓋。這種覆蓋的方式包含一個(gè)陰影,適合覆蓋在照片上
- 純色。這種純色的方式(無陰影)可以被用來創(chuàng)建一個(gè)可調(diào)色的圖片模板
- iOS也提供了很多純色標(biāo)記,其中,圖片上一個(gè)刪除線代表現(xiàn)在的LivePhoto被當(dāng)做是一個(gè)傳統(tǒng)的照片
在用戶下載一個(gè)Live Photo的時(shí)候給他們一個(gè)好的體驗(yàn)。尤其重要的是,用戶需要知道他們正在下載的是一個(gè)LivePhoto,他們需要知道什么時(shí)候可以播放它。如果你為一個(gè)Live Photo展示一個(gè)未播放的進(jìn)度指示器,確保這個(gè)指示器與你的應(yīng)用中其他的下載體驗(yàn)一致。
3.3 錢包(Wallet)
Wallet應(yīng)用是幫助用戶查看和管理各種數(shù)字化票券的,他們是一些物理個(gè)體的數(shù)字展現(xiàn),例如登機(jī)牌、優(yōu)惠券、會(huì)員卡、獎(jiǎng)勵(lì)卡和各種票。Wallet也可以讓人們添加他們的信用卡、借記卡和儲(chǔ)值卡結(jié)合Apple Pay使用。你可以在應(yīng)用中創(chuàng)建一個(gè)票券,分發(fā)給用戶,并且在有更改時(shí)進(jìn)行更新。
使用PassKit框架可以方便地用自定義內(nèi)容來收集一個(gè)票券和使用戶票券庫(kù)中的票券。(想要學(xué)習(xí)Passbook技術(shù)的核心概念和PassKit接口的使用方法,請(qǐng)參考Passbook Programming Guide。)以下幾點(diǎn)可以幫助你創(chuàng)建一個(gè)用戶樂意保留并使用的票券。
設(shè)計(jì)一個(gè)在各個(gè)設(shè)備上呈現(xiàn)很好票券。當(dāng)你選擇一個(gè)票券的樣式——比如登機(jī)牌,優(yōu)惠券,票據(jù),獎(jiǎng)勵(lì)卡或者通用的票券——你會(huì)獲得一個(gè)特別的布局和一系列區(qū)域去處理(更加詳細(xì)關(guān)于不同票券的樣式,參看Pass Style Sets the Overall Visual Appearance)。這個(gè)系統(tǒng)在各個(gè)設(shè)備上合理展示你的票券,所以正確使用票券的區(qū)域是非常重要的。例如,在Apple Watch上,條狀圖(strip)和縮略圖(thumbnail)圖片是不顯示的,所以你不希望把基本的信息放到這些元素里。更多Apple Watch票券的布局,參看Designing Passes for Apple Watch.
使用合適的票券區(qū)域展現(xiàn)文本。在你的票券中使用允許VoiceOver的用戶獲取票券中的所有信息的區(qū)域,保持你的票券外觀的一致性。避免將文本嵌入圖片或使用自定義的字體也是一個(gè)很好的方法,因?yàn)椴皇撬械膱D標(biāo)會(huì)展示到所有的設(shè)備上,這樣對(duì)用戶來說閱讀這樣的文字會(huì)有困難。
避免使用識(shí)別一個(gè)設(shè)備的語(yǔ)言。你不能預(yù)料到哪些用戶將會(huì)查看你的票據(jù)的設(shè)備,因此你不想使用可能在一個(gè)特別設(shè)備上不起作用的語(yǔ)言。比如,文字告訴用戶“滑動(dòng)去查看”內(nèi)容,當(dāng)這個(gè)發(fā)生在Apple Watch上將會(huì)不起作用。
盡可能,不要只是簡(jiǎn)單復(fù)制已有的物理票券。Wallet?已經(jīng)建立了有美感的設(shè)計(jì),票券也都配合這種設(shè)計(jì)以看起來更好。所以不要只是復(fù)制物理票券的外觀,抓住這次機(jī)會(huì)設(shè)計(jì)一個(gè)符合Wallet?組成和功能的干凈簡(jiǎn)潔的票券樣式。
對(duì)放在票券正面的信息精挑細(xì)選。用戶期望掃一眼票券就能快速獲得他們需要的信息,所以票券正面的信息應(yīng)該是整潔且易讀的。如果有用戶可能會(huì)需要的額外信息,將它們放到票券的背面要比擠在正面好得多。注意,Apple Watch上的票券沒有背面。
通常情況下,避免使用純白色背景。通常,一個(gè)好看的票券應(yīng)該使用鮮艷的純色背景或者使用強(qiáng)烈的,充滿活力的圖片作為背景。當(dāng)然,在設(shè)計(jì)背景時(shí)還要確保內(nèi)容的可讀性。
在商標(biāo)文本區(qū)域顯示你的公司名稱。所有票券的商標(biāo)文本區(qū)域的文字都使用了統(tǒng)一的字體。為了避免和其他票券發(fā)生沖突,還是建議您在商標(biāo)文本區(qū)域輸入文字,不要使用自定義字體。
使用白色的公司商標(biāo)。商標(biāo)圖片放置在票券左上角公司名稱的旁邊。最好提供一個(gè)白色的,單色的,不包含文字的商標(biāo)。如果你想要增強(qiáng)商標(biāo)的效果,又想要與文字風(fēng)格匹配的話,可以增加一個(gè)在y軸方向上有1像素偏移,有1像素模糊和透明度為35%的黑色陰影效果。
如果可以的話,使用矩形的條形碼。類似于PDF417這樣的長(zhǎng)方形條形碼比正方形二維碼更適合票券的布局。如下右圖所示,正方形的二維碼會(huì)使兩邊有空白區(qū)域并且會(huì)在垂直方向上使上下方內(nèi)容變得擁擠。
為性能去優(yōu)化圖片。因?yàn)橛脩敉ǔ?huì)通過電子郵件或者Safari接收票券,所以讓下載的越快越好是非常重要的。為了提高用戶體驗(yàn),使用能滿足視覺效果的最小的圖片文件。
在合適的時(shí)候更新票券以增強(qiáng)其效用。即使一個(gè)票券代表的是一個(gè)并不會(huì)改變的物理實(shí)體,數(shù)字的票券也可以通過映射真實(shí)世界的一些事件來提供更好的用戶體驗(yàn)。例如,當(dāng)某個(gè)航班延誤時(shí)你可以更新登機(jī)牌上的信息,這樣用戶就能夠通過查看電子登機(jī)牌來獲得當(dāng)前的信息。
3.4 蘋果的移動(dòng)支付平臺(tái)(Apple Pay)
Apple Pay是蘋果公司面向iOS移動(dòng)設(shè)備推出的一種簡(jiǎn)單、安全、個(gè)人的移動(dòng)支付方式。當(dāng)用戶在購(gòu)買實(shí)體商品和服務(wù)時(shí)時(shí),可以使用Apple Pay快速、安全地提供個(gè)人聯(lián)系方式、收貨地址以及付款信息。
通過用Apple Pay支付,用戶無需每次購(gòu)物都要?jiǎng)?chuàng)建賬號(hào)或填一遍個(gè)人信息。Apple Pay顯著加快了支付流程,有助于消除前期的各種信息登記,進(jìn)而為用戶的“無障礙”選購(gòu)過程提供更好的體驗(yàn)。欲了解更多信息,請(qǐng)參閱 Apple Pay Programming Guide. Apple Pay的用戶界面非常清晰、簡(jiǎn)潔高效、低調(diào)。它包含三個(gè)界面元素,各出現(xiàn)在不同的上下文情境中。
按鈕。Apple Pay的按鈕用來告訴用戶,他們可以在當(dāng)前的情境下(比如商品頁(yè)面)完成購(gòu)買。當(dāng)用戶點(diǎn)擊了Apple Pay的按鈕,立即顯示支付上拉菜單(見下文) 開始幫助用戶完成支付流程。用戶通過“設(shè)置Apple Pay”的選項(xiàng)Apple Pay的相關(guān)銀行卡信息綁定操作。通過調(diào)用PKPaymentButton API口可以找到這兩個(gè)按鈕(想要了解更多信息,請(qǐng)查閱。有關(guān)使用Apple Pay支付按鈕的更多詳情,請(qǐng)參閱Identity Guidelines.
Apple Pay支付標(biāo)識(shí)。當(dāng)用戶需要在授權(quán)支付之前選擇付款方式并敲定其他信息時(shí),他們期望看到Apple Pay的支付標(biāo)識(shí)。Apple Pay的支付標(biāo)識(shí)應(yīng)該同其他付款方式以相同或類似的格式顯示。
支付上拉菜單。在用戶提交訂單以及完成相關(guān)支付之前,Apple Pay會(huì)顯示一個(gè)包含了聯(lián)系方式、收貨地址以及與結(jié)賬相關(guān)付款信息的支付上拉菜單。盡管用戶依然可以在支付上拉菜單里做些微調(diào),比如選擇不同的送貨方式,但他們不用做出重大改變或輸入其他信息。當(dāng)用戶看到該支付上拉菜單,他們應(yīng)該能夠立即完成交易并授權(quán)付款。
對(duì)于可以使用Apple Pay付費(fèi)的用戶,Apple Pay的用戶界面應(yīng)當(dāng)始終顯示。如果用戶的移動(dòng)設(shè)備支持Apple Pay,并且他們已經(jīng)激活了相關(guān)可用的銀行卡因此可以通過將Apple Pay設(shè)為默認(rèn)支付方式來滿足用戶的期望。
如果用戶無法使用Apple Pay服務(wù),就不要顯示任何Apple Pay的用戶界面。如果用戶使用的設(shè)備不支持Apple Pay,仍強(qiáng)行將其作為一個(gè)支付方式選項(xiàng),可能會(huì)對(duì)用戶造成混淆。但是,如果用戶使用的設(shè)備是支持Apple Pay,但沒有綁定任何信用卡或借記卡,你可以在界面中顯示“設(shè)置Apple Pay”的按鈕。
當(dāng)用戶點(diǎn)擊了Apple Pay的按鈕,立即顯示支付上拉菜單。當(dāng)用戶決定使用Apple Pay來結(jié)賬時(shí),如果還要迫使用戶經(jīng)歷額外步驟,會(huì)使支付流程顯得復(fù)雜,增加不必要的矛盾,并可能會(huì)讓用戶感到沮喪受挫。當(dāng)用戶點(diǎn)擊了Apple Pay按鈕,不要顯示其他警告或模態(tài)對(duì)話框視圖。如果用戶可以提供像打折或促銷代碼之類的信息,請(qǐng)?jiān)谟脩酎c(diǎn)擊Apple Pay按鈕之前找到一種方式來接收該信息。
Apple Pay按鈕與其他可見的支付按鈕應(yīng)保持相同的尺寸大小或更大。將Apple Pay按鈕放置在醒目的位置,可以幫助用戶輕松找到它。
使用Handoff功能幫助用戶完成在Apple Watch上發(fā)起的購(gòu)買。 Apple Watch佩戴者可以在商店完成支付,但他們無法完成由Apple Watch第三方應(yīng)用程序調(diào)用的支付行為。當(dāng)Apple Watch佩戴者發(fā)起了由第三方應(yīng)用程序調(diào)用的支付行為,則顯示一條消息告訴他們請(qǐng)?jiān)趇Phone上完成支付。為了更好的用戶體驗(yàn),還可以使用Handoff功能深層鏈接到你的iOS應(yīng)用程序上,并立即顯示包含預(yù)設(shè)好的相應(yīng)付款信息的支付上拉菜單。
有關(guān)使用Apple Pay支付按鈕以及Apple Pay支付標(biāo)識(shí)的更多信息指南,請(qǐng)參閱 Apple Pay Identity Guidelines.
3.4.1?自定義支付上拉菜單 (Customizing the Payment Sheet)
根據(jù)完成交易付款所需要了解的信息,以及所要傳達(dá)給用戶關(guān)于本次購(gòu)物的信息,來自定義Apple Pay支付上拉菜單所要顯示的內(nèi)容。
支付上拉菜單僅顯示對(duì)完成交易付款有必要的信息。如果Apple Pay支付上拉菜單顯示了些無關(guān)的信息,用戶可能會(huì)感到困惑或焦慮。舉個(gè)例子,如果商品是在線交付或通過電子方式完成,需要聯(lián)系人的電子郵件地址是有意義的,而不是收貨地址。在這種情況下,要求收貨地址可能給用戶產(chǎn)生會(huì)有什么東西將意外被派件到家中或公司的錯(cuò)覺,或許還可能導(dǎo)致他們對(duì)個(gè)人隱私被訪問產(chǎn)生不必要的擔(dān)憂。
支付上拉菜單允許用戶可以選擇更換送件或取件方式。用戶可以從你在支付上拉菜單中設(shè)定的幾種交付方式中隨意選擇一種。通過用文本標(biāo)簽控件、報(bào)價(jià)以及可選的第二行預(yù)計(jì)到達(dá)日期,來具體描述一種收貨方式。另外,你還可以設(shè)定交付方式為“派件”或“取件”,讓用戶指定一個(gè)可接收快遞送貨上門或需要運(yùn)輸服務(wù)取件的位置。
使用并排項(xiàng)來描述周期性付款和一些購(gòu)買費(fèi)用的小計(jì)。 并排項(xiàng)包含了一個(gè)標(biāo)簽文本和花費(fèi)數(shù)值。并排項(xiàng)被用來:
- 表明用戶授權(quán)一個(gè)定期付款項(xiàng)目,比如“每月訂閱 $19.99”
- 告知用戶關(guān)于額外費(fèi)用,比如“禮品包裝 $5.00”和“稅費(fèi) $4.53”
- 顯示優(yōu)惠券或折扣信息帶來的減價(jià),比如“周五特價(jià) -$2.00”
- 描述某個(gè)項(xiàng)目需要按實(shí)際計(jì)費(fèi),比如運(yùn)輸服務(wù)“時(shí)間&距離 …”
不要用并排項(xiàng)來顯示所要購(gòu)買的商品的構(gòu)成清單。
創(chuàng)建并排項(xiàng)標(biāo)簽時(shí),盡可能顯示在同一行。并排項(xiàng)標(biāo)簽應(yīng)該具體、容易理解。如果行條目標(biāo)簽字符數(shù)過長(zhǎng),那么很難讓你的用戶一看就懂。
商戶名稱需要緊緊跟隨在同一行的“Pay”字符后面作為一個(gè)整體。確保所使用的商戶名稱以及相應(yīng)的開銷支出,必須與用戶檢查自己的信用卡或銀行對(duì)賬單時(shí)的數(shù)據(jù)保持一致。這一點(diǎn)很重要,因?yàn)樗兄谟脩舸_信他們的開銷支出是無誤的。如果你的應(yīng)用程序只是作為中間媒介,而不是最終的商戶支付,請(qǐng)明確向用戶表明這個(gè)具體說明“付款給 最終的商戶名稱(通過 你的應(yīng)用程序名稱)。
如果總價(jià)花費(fèi)在支付授權(quán)時(shí)還不明確,請(qǐng)向用戶傳達(dá)有可能會(huì)有額外費(fèi)用的信息。舉個(gè)例子,一次汽車旅程從支付授權(quán)時(shí)刻起到駛向最終目的地,它的開銷報(bào)價(jià)可能會(huì)受行車距離或時(shí)間的影響變化。或者,一個(gè)客戶可能想要給點(diǎn)小費(fèi)在商品已派件之后。對(duì)于這樣的情況,在支付上拉菜單中給予一個(gè)非常明確的解釋說明是很有必要的。當(dāng)你使用一個(gè)并排項(xiàng)來配置最終總價(jià)的更新信息時(shí),總價(jià)金額會(huì)自動(dòng)顯示為“總價(jià)待定”。另外,如果你是預(yù)授權(quán)支付一個(gè)具體金額的訂單,確保支付上拉菜單準(zhǔn)確地反映了這一信息。
3.4.2?簡(jiǎn)化結(jié)賬流程(Streamlining the Checkout Process)
Apple Pay使得購(gòu)物變得快速、簡(jiǎn)單,對(duì)此人們會(huì)欣然接受的。更少的步驟和更少的需要用戶手動(dòng)輸入的信息,使得整個(gè)結(jié)賬流程更好。
始終使用Apple Pay的最新數(shù)據(jù)信息。假設(shè)用戶一直保持Apple Pay個(gè)人信息的完整性和時(shí)刻更新,那么不要依賴于任何先前收集的信息。即使你以前已收集過用戶的聯(lián)系方式、交付方式和支付信息,也要在結(jié)賬時(shí)獲取來自Apple Pay的最新信息。在結(jié)賬環(huán)節(jié),盡量避免用戶輸入本可以從Apple Pay獲取的任何信息。
使用Apple Pay加快購(gòu)買。對(duì)于單個(gè)商品項(xiàng)目的購(gòu)買,讓用戶只需通過點(diǎn)擊商品頁(yè)面上的Apple Pay支付按鈕,即可顯示支付上拉菜單并進(jìn)行即時(shí)結(jié)算。購(gòu)買單個(gè)商品時(shí),無需采取額外的步驟,也無需將商品添加到購(gòu)物車,用戶喜歡在應(yīng)用程序中體驗(yàn)到這種便利性。對(duì)于多個(gè)商品被添加到購(gòu)物車中會(huì)使用相同的交付方式被送到相同地址的情況,一旦用戶有意向支付時(shí),會(huì)通過顯示支付上拉菜單的快速結(jié)賬流程來支持。
在顯示支付上拉菜單前需提前收集好贖回代碼或促銷代碼。因?yàn)樵贏pple Pay支付上拉菜單中沒有辦法輸入這些代碼,請(qǐng)務(wù)必在顯示支付上拉菜單之前收集好相關(guān)代碼。
如果人們可以將購(gòu)買的商品派送到不同地方,或以不同的速度發(fā)貨,請(qǐng)?jiān)陲@示支付上拉菜單之前提前收集好該信息。對(duì)于這種極端情況,你需要在顯示支付上拉菜單之前得到發(fā)貨信息,因?yàn)樵谥Ц渡侠藛沃袥]有辦法來指定多種交付方式和地址。一般情況下,在支付上拉菜單中務(wù)必收集到交付方式和地址信息。
顯示訂單確認(rèn)頁(yè)面或致謝頁(yè)面。在交易完成時(shí),通過使用訂單確認(rèn)頁(yè),以這種直接的用戶體驗(yàn)來顯示關(guān)于商品能派送到的預(yù)計(jì)時(shí)間以及用戶如何跟進(jìn)訂單狀態(tài)的信息。
如果合適的話,請(qǐng)?jiān)谀愕挠唵未_認(rèn)頁(yè)上提到Apple Pay。盡管在你的確認(rèn)頁(yè)面上提到Apple Pay不是必要的,如果你愿意選,可以使用其中的一種格式:
- “Visa ????1234(Apple Pay)”
- “用Apple Pay已完成付款”
3.5 研究型應(yīng)用程序(Research Apps)
研究型應(yīng)用程序可以讓蘋果用戶充分利用iOS移動(dòng)設(shè)備的便利性,參與到各種研究性學(xué)習(xí)中來。通過調(diào)用開源代碼ResearchKit,使用預(yù)設(shè)的幾種界面視圖和轉(zhuǎn)場(chǎng)動(dòng)畫,可以很輕易為你的研究和參與者自定義一個(gè)美觀易用的研究型應(yīng)用程序,這些資源都可以在蘋果的開源代碼ResearchKit項(xiàng)目中調(diào)用。要想了解如何使用ResearchKit來為你的研究開發(fā)一個(gè)研究型應(yīng)用程序,請(qǐng)查閱researchkit.org.
重要
這些規(guī)范準(zhǔn)則僅供參考之用,并不構(gòu)成任何法律意見。對(duì)于與你的研究型應(yīng)用程序發(fā)展以及任何法律適用的相關(guān)建議,你應(yīng)該向律師咨詢。
通常情況下,一個(gè)研究型應(yīng)用程序是由ResearchKit定制化的界面視圖以及應(yīng)用程序本身具體設(shè)定的界面視圖組成,可歸納為三種主要的體驗(yàn):
- 參與者的就位培訓(xùn)(Onboarding)
- 研究性調(diào)查(Study-specific investigation)
- 管理?xiàng)l目信息(Management items)
設(shè)計(jì)你的研究型應(yīng)用程序時(shí)務(wù)必要遵循以下每個(gè)部分的規(guī)范準(zhǔn)則,將有助于你的用戶參與者感到舒服和保持參與感。
3.5.1 參與者的就位培訓(xùn)(Onboarding)
就位培訓(xùn)的體驗(yàn)包含了一系列向潛在參與者介紹研究?jī)?nèi)容以及征詢他們同意的環(huán)節(jié)。完成這些以后,參與者通常不會(huì)再重新訪問這些就位培訓(xùn)的內(nèi)容環(huán)節(jié):
你應(yīng)該按如圖所示的這個(gè)順序呈現(xiàn)就位培訓(xùn)的各個(gè)體驗(yàn)環(huán)節(jié),也就是按介紹指引、適任、知情同意,以及授權(quán)訪問數(shù)據(jù)。
創(chuàng)建一個(gè)具有號(hào)召性用語(yǔ)的介紹指引。指引環(huán)節(jié)應(yīng)該幫助人們了解更多關(guān)于你的研究以及告訴他們?nèi)绾纬蔀橐幻麉⑴c者。指引環(huán)節(jié)最好也能向那些現(xiàn)有的參與者提供快捷登錄的入口以便繼續(xù)正在進(jìn)行的研究。
盡快確認(rèn)招募的用戶是否合格。適任環(huán)節(jié)呈現(xiàn)在指引環(huán)節(jié)之后、知情同意環(huán)節(jié)之前(如果參與者并不適合該研究則沒有必要讓其查看知情同意環(huán)節(jié))。請(qǐng)確認(rèn)所呈現(xiàn)的適任資質(zhì)要求對(duì)于你的研究來說是必要的。請(qǐng)使用簡(jiǎn)單、直白的語(yǔ)言描述這些要求,并讓用戶可以很容易就輸入相關(guān)信息。
在得到參與者的同意之前,確保他們已充分了解你的研究?jī)?nèi)容。ResearchKit有助于讓知情同意流程顯得簡(jiǎn)潔、友好,同時(shí)還允許將你同意的任何法律規(guī)定或由機(jī)構(gòu)審查委員會(huì)和倫理審查委員會(huì)所設(shè)定的規(guī)定納入其中。(如果你的應(yīng)用程序涉及到進(jìn)行人體生物學(xué)相關(guān)的研究,必須確保你的應(yīng)用程序符合現(xiàn)有的蘋果應(yīng)用商店規(guī)范指南,并獲得參與者的許可。)通常情況下,知情同意環(huán)節(jié)包含了:
- 說明這項(xiàng)研究是如何工作的
- 確保參與者了解研究?jī)?nèi)容以及各自的責(zé)任
- 獲得參與者的許可
將冗長(zhǎng)的同意書分解成易理解消化的小節(jié)。每個(gè)小節(jié)可以只覆蓋研究?jī)?nèi)容的一個(gè)方面,比如數(shù)據(jù)采集、數(shù)據(jù)應(yīng)用、潛在好處、可能的風(fēng)險(xiǎn)、時(shí)間承諾、如何撤出等等。每個(gè)小節(jié)請(qǐng)使用簡(jiǎn)潔、直白的語(yǔ)言來說明一個(gè)高度概括的內(nèi)容。如果有必要,提供一個(gè)查看詳情的按鈕便于參與者了解該小節(jié)更詳細(xì)的解釋。應(yīng)該讓他們?cè)谕鈪⑴c之前,就查看完全部知情同意內(nèi)容。
通過一個(gè)小測(cè)驗(yàn)來測(cè)試參與者的理解情況是有意義的。在獲得參與者允許的情況下,你可以選擇向每個(gè)參與者詢問相同的問題。
你的研究必須獲得參與者的同意,如果合適,還可以收集一些聯(lián)系人信息。參與者同意參與研究后,他們需要提供個(gè)人簽名以及聯(lián)系方式,最后會(huì)收到一個(gè)確認(rèn)對(duì)話框。對(duì)于這些信息記錄,大多數(shù)的研究型應(yīng)用程序會(huì)向參與者電郵一份PDF格式的同意書。
參與者需要對(duì)這個(gè)確認(rèn)自愿參與研究的告警對(duì)話框給予響應(yīng)
參與者可以提供他們的個(gè)人簽名在知情同意流程中
如果你需要訪問參與者的設(shè)備或數(shù)據(jù)必須得到他們的許可。必須解釋清楚你的研究型應(yīng)用程序?yàn)槭裁葱枰L問他們的位置信息、健康應(yīng)用程序或其他數(shù)據(jù),并且確保避免向參與者索要對(duì)你研究并非至關(guān)重要的數(shù)據(jù)。同樣地,如果你需要向參與者發(fā)送通知提醒也要獲得參與者的許可。
讓參與者準(zhǔn)備授權(quán)訪問數(shù)據(jù),比如健康應(yīng)用程序的數(shù)據(jù)
讓參與者自己選擇他們?cè)敢馀c你共享的數(shù)據(jù)
3.5.2 具體研究的調(diào)查(Study-Specific Investigation)
為了從參加者獲得數(shù)據(jù)輸入,你的研究可能會(huì)使用情況調(diào)查、活動(dòng)任務(wù),或兩者的組合。根據(jù)你的研究的體系結(jié)構(gòu),參與者可能會(huì)在每個(gè)環(huán)節(jié)多次或僅需完成一次交互即可。
問卷調(diào)查的設(shè)計(jì)應(yīng)該能讓參與者專注參與其中。 ResearchKit可以很容易就呈現(xiàn)多種答案類型的調(diào)查問題,比如對(duì)錯(cuò)、多選、日期和時(shí)間、比例計(jì)算,以及開放式文本填寫。當(dāng)你使用ResearchKit的界面視圖來創(chuàng)建一項(xiàng)調(diào)查,請(qǐng)遵循以下準(zhǔn)則,來保證好的用戶體驗(yàn):
- 告訴參與者總共有多少道問題,以及完成調(diào)查預(yù)計(jì)需要花費(fèi)的時(shí)間
- 每屏只呈現(xiàn)一道問題
- 顯示給參與者當(dāng)前調(diào)查的進(jìn)度
- 調(diào)查應(yīng)該盡可能簡(jiǎn)短。幾個(gè)簡(jiǎn)短的調(diào)查往往好于一個(gè)冗長(zhǎng)的調(diào)查
- 對(duì)于需要額外解釋的問題,問題描述請(qǐng)用標(biāo)準(zhǔn)字體大小,然后解釋文字用略小的字體大小
- 調(diào)查結(jié)束時(shí)要告知參與者
ResearchKit提供了許多用于調(diào)查環(huán)節(jié)的可自定義界面視圖。這里有一些樣例。
使得活動(dòng)任務(wù)容易理解?;顒?dòng)任務(wù)需要參與者參與到一次活動(dòng)中來,比如對(duì)著麥克風(fēng)語(yǔ)音、手指在屏幕上完成點(diǎn)擊、行走散步,以及執(zhí)行一次記憶力測(cè)試。請(qǐng)按照以下幾點(diǎn)準(zhǔn)則來鼓勵(lì)參與者執(zhí)行活動(dòng)任務(wù),并給與他們成功的絕佳機(jī)會(huì):
- 請(qǐng)用簡(jiǎn)潔易懂的語(yǔ)言來描述如何執(zhí)行本次任務(wù)。
- 如果任務(wù)必須在特定的時(shí)間或特定情況下進(jìn)行,請(qǐng)務(wù)必明示。
- 確保參與者可以分辨出任務(wù)何時(shí)結(jié)束。
以下是ResearchKit所支持的兩個(gè)活動(dòng)任務(wù)樣例。
3.5.3 管理?xiàng)l目信息(Management Items)
ResearchKit提供了個(gè)人檔案的界面視圖來讓參與者可以管理他們的個(gè)人信息。此外,創(chuàng)建一個(gè)可以激勵(lì)用戶并能讓他們追蹤他們?cè)谘芯恐械倪M(jìn)度的界面視圖是個(gè)不錯(cuò)的選擇。在大多數(shù)情況下,參加者應(yīng)該能夠隨時(shí)訪問這兩個(gè)模塊。
使用個(gè)人檔案來幫助參與者管理個(gè)人信息和與你研究相關(guān)的數(shù)據(jù)。個(gè)人檔案界面視圖允許參與者在研究進(jìn)程期間可以編輯相應(yīng)數(shù)據(jù),比如體重或睡眠習(xí)慣,并且可以提醒他們即將到來的活動(dòng)任務(wù)。你同樣可以在個(gè)人檔案中給予參與者一種簡(jiǎn)單的方式離開該研究、查看知情同意書,以及查看該應(yīng)用程序的隱私政策。
使用儀表盤概覽視圖來激勵(lì)參與者,并呈現(xiàn)進(jìn)度。一個(gè)概覽視圖可以讓你與參與者對(duì)信息一覽無余并鼓勵(lì)他們繼續(xù)參與。如果你的研究?jī)?nèi)容合適的話,你可以使用該概覽視圖給予參與者豐富的反饋,比如每日進(jìn)度、每周評(píng)估、具體活動(dòng)的結(jié)果,以及同其他參與者的匯總結(jié)果進(jìn)行對(duì)比。
3.6 ?應(yīng)用擴(kuò)展(App Extensions)
應(yīng)用擴(kuò)展可以延伸應(yīng)用的使用范圍。當(dāng)用戶使用其他應(yīng)用時(shí),應(yīng)用擴(kuò)展使得用戶仍能使用你應(yīng)用的核心功能。舉個(gè)例子,當(dāng)人們?cè)赟afari中瀏覽網(wǎng)頁(yè)時(shí),他們可以使用你的分享擴(kuò)展來發(fā)送一張圖片或一篇文章到你的社交網(wǎng)站上。或者當(dāng)使用Photos(照片)應(yīng)用時(shí),人們可能會(huì)使用你的圖片編輯擴(kuò)展來為一張圖片加上一個(gè)濾鏡效果。(在這些場(chǎng)景中,Safari和照片應(yīng)用承載用戶使用擴(kuò)展的場(chǎng)景,因而被稱為宿主應(yīng)用(host apps)。)
你需要提交包含應(yīng)用擴(kuò)展的完整iOS應(yīng)用到App Store(包含擴(kuò)展的應(yīng)用被稱為容器應(yīng)用(containing app))。在你的容器應(yīng)用中啟用擴(kuò)展之后,人們就可以在使用其他應(yīng)用時(shí),使用擴(kuò)展來執(zhí)行快速任務(wù)。例如,在郵件中瀏覽某個(gè)商品時(shí),人們可以不用離開郵件應(yīng)用就使用你的動(dòng)作擴(kuò)展來把商品添加到購(gòu)物清單中。 表?22-1?列舉了可以多個(gè)創(chuàng)建的iOS應(yīng)用擴(kuò)展類型。
確保是單任務(wù)。應(yīng)用擴(kuò)展并不是應(yīng)用的精簡(jiǎn)版,它幫助用戶在有全局目標(biāo)的上下文中完成狹義范圍內(nèi)的有限任務(wù)。例如,動(dòng)作擴(kuò)展可以為用戶提供一種不同的方式來查看當(dāng)前內(nèi)容。以下指南適用于所有類型的應(yīng)用擴(kuò)展,針對(duì)特定類型應(yīng)用擴(kuò)展的指南請(qǐng)參閱后續(xù)章節(jié)。(如果想了解如何開發(fā)、調(diào)試和發(fā)布一個(gè)擴(kuò)展,請(qǐng)參閱App Extension Programming Guide.)
保證用戶的交互是有限和流暢的。好的應(yīng)用擴(kuò)展應(yīng)該只需幾步點(diǎn)擊就可以幫助人們完成任務(wù),這樣他們就能盡快回到之前的場(chǎng)景中。例如,分享擴(kuò)展只需一次點(diǎn)擊即可完成一張圖片的分享。
將容器應(yīng)用及其應(yīng)用擴(kuò)展的名稱保持一致。一個(gè)容器應(yīng)用中如果有多個(gè)擴(kuò)展,需要使用不同的名稱,你需要確保用戶能夠理解你的擴(kuò)展和應(yīng)用之間的關(guān)系。人們會(huì)在很多不同的情況下遇到擴(kuò)展,如果他們當(dāng)下沒有認(rèn)出來,那么他們就未必會(huì)信任這些擴(kuò)展。
大部分情況下,復(fù)用容器應(yīng)用的圖標(biāo)。顯示用戶熟悉的圖標(biāo)是獲得用戶信任的另一種方式。請(qǐng)注意,對(duì)于動(dòng)作擴(kuò)展來說,你應(yīng)該使用單色版本的容器應(yīng)用圖標(biāo)(詳見分享和動(dòng)作擴(kuò)展)。
重要:和設(shè)計(jì)圖標(biāo)和圖形一樣,不要重復(fù)使用iOS的圖標(biāo)和圖片,不要為蘋果的產(chǎn)品和設(shè)計(jì)再設(shè)計(jì)一套圖片。
避免在擴(kuò)展上顯示模態(tài)視圖。很多擴(kuò)展默認(rèn)以模態(tài)視圖來顯示,所以應(yīng)避免再疊加模態(tài)視圖。盡管有時(shí)候用戶可能會(huì)在擴(kuò)展上遇到警告框,但是在設(shè)計(jì)擴(kuò)展的流程時(shí),應(yīng)避免出現(xiàn)模態(tài)視圖。
3.6.1 今天部件(Today Widgets)
人們會(huì)在通知中心的今天區(qū)域中查看今天部件(Today widgets)。因?yàn)槿藗儠?huì)設(shè)置今天區(qū)域以顯示他們最關(guān)注的信息,所以在此進(jìn)行設(shè)計(jì)可以有效幫助你的部件在這些用戶最重要的信息中占據(jù)一席之地。
設(shè)計(jì)與通知中心風(fēng)格一致的外觀。當(dāng)使用通知中心的默認(rèn)邊距和背景時(shí),你的今天部件就會(huì)給用戶以統(tǒng)一的體驗(yàn)。為獲得最佳的結(jié)果,你應(yīng)該重點(diǎn)關(guān)注你的內(nèi)容而不是背景或者其他的,尤其應(yīng)該避免繪制一片純色背景。
注意:
iOS會(huì)自動(dòng)在自定義的部件內(nèi)容上方顯示應(yīng)用的圖標(biāo)和標(biāo)題(圖標(biāo)會(huì)顯示在標(biāo)題前面的空白處)。
將部件內(nèi)容與標(biāo)題對(duì)齊。當(dāng)你的部件內(nèi)容與標(biāo)題對(duì)齊時(shí),人們就可以很簡(jiǎn)單地瀏覽今天視圖中他們想要的部件。遵守今天視圖中的邊距規(guī)范,并將內(nèi)容約束在如圖的部件內(nèi)容區(qū)內(nèi)。
一般情況下,使用白色的系統(tǒng)字體來顯示文本。在通知中心默認(rèn)背景下白色文字會(huì)看起來較好。對(duì)于二級(jí)文本,可以使用系統(tǒng)提供的vibrant外觀樣式(查看notificationCenterVibrancyEffect了解更多)。
提供通知中心式的體驗(yàn)。人們?cè)L問通知中心來獲取簡(jiǎn)要的更新或者執(zhí)行一個(gè)非常簡(jiǎn)單的任務(wù),所以今天部件最好只顯示適量的信息和進(jìn)行有限的互動(dòng),特別是:
- 避免用戶在部件中需要滾動(dòng)或縱向移動(dòng)來查看全部的信息。部件可以通過縱向擴(kuò)展來顯示更多的信息,但若部件的高度超過通知中心的高度就不是一種好的體驗(yàn)了,因?yàn)檫@樣會(huì)干擾其他部件的查看
- 避免使用橫向掃動(dòng)或拖曳,因?yàn)檫@會(huì)干擾在通知中心進(jìn)行導(dǎo)航
- 盡可能使用戶只需一步操作就完成任務(wù)或打開你的應(yīng)用(注意,在今天部件中鍵盤是不可用的)
- 優(yōu)化性能以便人們可以即刻獲得有用的信息??梢钥紤]在本地緩存信息,以便當(dāng)有更新時(shí)就可顯示最近信息。人們只希望在今天視圖中花很少的時(shí)間,如果部件使用內(nèi)存不當(dāng),iOS就可能會(huì)終止它
在適當(dāng)情況下,讓人們點(diǎn)擊你的今天部件來打開你的應(yīng)用。因?yàn)榻裉觳考峁┝藢R坏捏w驗(yàn),所以就能有效引導(dǎo)人們?nèi)サ侥愕膽?yīng)用以獲取更多信息或功能。最好不要顯示“打開應(yīng)用”按鈕,而是應(yīng)該讓你的整個(gè)今天部件都可被點(diǎn)擊來打開應(yīng)用。你也可以讓用戶點(diǎn)擊部件中的UI對(duì)象,以打開你的應(yīng)用并跳轉(zhuǎn)到關(guān)于此UI對(duì)象的視圖中。舉個(gè)例子,日歷部件顯示了今天的事件,如果用戶想要獲得某個(gè)事件的更多信息,他們可以點(diǎn)擊部件中的事件來打開日歷應(yīng)用進(jìn)行查看。
注意:
雖然從部件打開應(yīng)用的方式對(duì)用戶來說還不錯(cuò),但繼續(xù)在部件中提供有用且及時(shí)的信息依然是很重要的。人們可不一定會(huì)欣賞一個(gè)功能只是打開應(yīng)用的今天部件。
如果可能,在今天部件中讓人們知道他們需要登錄來獲取有用的信息。如果你的今天不見需要人們登錄查看信息,展示一個(gè)信息去鼓勵(lì)他們登錄和解釋什么樣的內(nèi)容將會(huì)被呈現(xiàn)。例如,如果你的時(shí)間部件即將到來的預(yù)約是用戶登錄后展現(xiàn)的,你可能需要讓用戶“登錄我的應(yīng)用去查看即將到來的預(yù)約”。
不要制作一個(gè)今天不見需要打開除了你自己應(yīng)用外的應(yīng)用。一個(gè)模擬iOS主屏的行為的時(shí)間部件不會(huì)為你的用戶提供有用的功能。
3.6.2?分享和動(dòng)作擴(kuò)展(Share and Action Extensions)
人們通過點(diǎn)擊應(yīng)用中的動(dòng)作按鈕(Action button)來使用分享和動(dòng)作擴(kuò)展。在通過動(dòng)作按鈕顯示的動(dòng)作視圖控制器(activity view controller)中,動(dòng)作擴(kuò)展被列在底部,分享擴(kuò)展被列在動(dòng)作擴(kuò)展之上。人們可以使用更多(More)按鈕來管理顯示在動(dòng)作視圖控制器中的分享和動(dòng)作擴(kuò)展。
分享或動(dòng)作擴(kuò)展通常被認(rèn)為是在當(dāng)前用戶場(chǎng)景下用來輸入內(nèi)容之用。例如,當(dāng)在Safari中閱讀一篇文章時(shí),用戶可能會(huì)點(diǎn)擊動(dòng)作按鈕并使用一個(gè)分享擴(kuò)展來發(fā)送這篇文章到分享網(wǎng)站上,也可能會(huì)使用一個(gè)動(dòng)作擴(kuò)展來查看這篇文章的翻譯。
注意:
在動(dòng)作視圖控制器中,iOS只會(huì)顯示支持當(dāng)前內(nèi)容類型的動(dòng)作擴(kuò)展。例如,當(dāng)用戶當(dāng)前內(nèi)容是視頻時(shí),iOS就不會(huì)顯示支持文本的動(dòng)作擴(kuò)展。
盡可能在分享擴(kuò)展中使用系統(tǒng)提供的UI。系統(tǒng)所提供的撰寫視圖控制器 (compose view controller) 提供給用戶一種一致的體驗(yàn),并能自動(dòng)支持一些常用任務(wù),例如預(yù)覽和確認(rèn)標(biāo)準(zhǔn)項(xiàng),同步內(nèi)容,查看動(dòng)畫,以及完成一封郵件。欲知更多關(guān)于使用系統(tǒng)提供的撰寫視圖控制器,請(qǐng)參見?App Extension Programming Guide中的Share.
如果上傳需要一定時(shí)間,那就應(yīng)考慮在分享擴(kuò)展的容器應(yīng)用中顯示上傳進(jìn)度。無論分享的文件有多大,人們都期待在點(diǎn)擊擴(kuò)展中的發(fā)送或分享按鈕后,能立即返回他們之前的場(chǎng)景。你需要讓進(jìn)度狀態(tài)隨時(shí)更新,但是人們不想每次上傳完畢后都收到通知,并且也無法自動(dòng)重啟擴(kuò)展。在這種場(chǎng)景下,在容器應(yīng)用中顯示上傳進(jìn)度是一種解決方案,這樣容器應(yīng)用就可以在后臺(tái)處理任務(wù),并在遇到問題時(shí)發(fā)送通知。
動(dòng)作擴(kuò)展使用單色的應(yīng)用圖標(biāo)。(?不同的是,分享擴(kuò)展則應(yīng)該使用其容器應(yīng)用的彩色應(yīng)用圖標(biāo)。) 要為動(dòng)作擴(kuò)展設(shè)計(jì)圖標(biāo)時(shí),你可能需要從創(chuàng)建一個(gè)應(yīng)用圖標(biāo)的模版開始著手。如有需要,可以專注圖標(biāo)所特有的元素來進(jìn)行簡(jiǎn)化設(shè)計(jì)。
如果你在容器應(yīng)用中提供了多個(gè)動(dòng)作擴(kuò)展,那么最好為他們?cè)O(shè)計(jì)一套圖標(biāo),且確保這套圖標(biāo)中的每一個(gè)看起來都與容器應(yīng)用的圖標(biāo)是有關(guān)聯(lián)的。
3.6.3 圖片編輯擴(kuò)展(Photo Editing Extensions)
當(dāng)人們?cè)谡掌?Photos)中查看圖片或視頻時(shí),可以使用圖片編輯擴(kuò)展。一般來說,圖片編輯擴(kuò)展能幫助用戶篩選圖片或進(jìn)行一些其他的圖片或視頻編輯。在用戶確認(rèn)之后,編輯后的內(nèi)容就會(huì)出現(xiàn)在照片應(yīng)用中。
照片應(yīng)用提供了一個(gè)模態(tài)視圖來顯示圖片編輯擴(kuò)展的自定義UI。當(dāng)用戶在確認(rèn)對(duì)圖片或視頻的編輯時(shí)選擇了取消(你必須要在代碼上保證存在這個(gè)行為),照片應(yīng)用還可以顯示一個(gè)確認(rèn)視圖。
避免在圖片編輯擴(kuò)展中使用導(dǎo)航欄。如圖所示,承載擴(kuò)展的模態(tài)視圖已經(jīng)包含了導(dǎo)航欄,若再增加另一個(gè)導(dǎo)航欄,既會(huì)占據(jù)更多你的界面空間,還會(huì)使用戶產(chǎn)生困擾。(照片應(yīng)用默認(rèn)會(huì)以全屏高度來顯示你的視圖,所以你的內(nèi)容會(huì)出現(xiàn)在內(nèi)建的導(dǎo)航欄之下。)
如果可以,讓用戶能夠預(yù)覽編輯結(jié)果。盡可能讓用戶在關(guān)閉擴(kuò)展返回照片應(yīng)用之前看到他們編輯的成果。
3.6.4?文檔提供者擴(kuò)展(Document Provider Extensions)
文檔提供者擴(kuò)展幫助人們?cè)谄渌鞣N應(yīng)用中查閱你的應(yīng)用所管理的文檔。在宿主應(yīng)用(host app)中,文檔采集視圖控制器(document picker view controller)會(huì)顯示你的擴(kuò)展所提供的UI(想要了解更多有關(guān)文檔采集視圖控制器的內(nèi)容,請(qǐng)查閱UIDocumentPickerViewController Class Reference).
注意:
文檔提供者擴(kuò)展由兩個(gè)不同的部分組成:文檔采集視圖控制器擴(kuò)展和文件提供者擴(kuò)展。文檔采集視圖控制器擴(kuò)展包括了你的自定義UI,文件提供者擴(kuò)展實(shí)現(xiàn)對(duì)文件的訪問。為了簡(jiǎn)單起見,本節(jié)所使用的術(shù)語(yǔ)文檔提供者擴(kuò)展(Document Provider extension)是為了表述擴(kuò)展中文檔采集視圖控制器部分的UI和體驗(yàn)。
避免在文檔提供者擴(kuò)展中使用導(dǎo)航欄。iOS會(huì)顯示擴(kuò)展的自定義UI,而自定義UI又包含在文檔采集視圖控制器中基于導(dǎo)航欄的界面之中。所以,在內(nèi)建導(dǎo)航欄之下再顯示第二個(gè)導(dǎo)航欄會(huì)使用戶感到困惑,并且還會(huì)占據(jù)原本你的內(nèi)容區(qū)域。(文檔采集視圖控制器默認(rèn)會(huì)以全屏高度來顯示你的視圖,所以你的內(nèi)容會(huì)出現(xiàn)在內(nèi)建的導(dǎo)航欄之下。)
3.6.5 自定義輸入法(Custom Keyboards)
人們?cè)谡麄€(gè)系統(tǒng)中使用帶有自定義輸入法的輸入法擴(kuò)展來替換iOS的自帶輸入法。在啟用輸入法擴(kuò)展之后,除了受保護(hù)的文本區(qū)域(例如密碼輸入?yún)^(qū))和手機(jī)鍵盤區(qū)(例如聯(lián)系人中的電話號(hào)碼區(qū))外,當(dāng)人們點(diǎn)擊任何文本輸入?yún)^(qū)域后就能使用自定義輸入法。
為用戶提供明顯的方式來切換輸入法。人們對(duì)于iOS的輸入法切換按鈕很熟悉,他們會(huì)期望在你的輸入法中也有類似的體驗(yàn)。
如果可能,在你的容器應(yīng)用中包括一個(gè)教程。如果必要,使用你的自定義鍵盤的容器應(yīng)用去給人們講解如何啟用和使用你的鍵盤。不要把這個(gè)信息直接放在鍵盤本身,因?yàn)樗赡茏屓藗儑L試使用這個(gè)鍵盤時(shí)感到困惑。
3.7 HomeKit
通過HomeKit,用戶能夠方便地在家中使用iOS設(shè)備上的智能家居應(yīng)用來操控家中相關(guān)聯(lián)的設(shè)備(無論這些設(shè)備制造商是誰)。最好的智能家居應(yīng)用集成HomeKit和iOS系統(tǒng)來幫助用戶:
- 創(chuàng)建家居環(huán)境、房間和區(qū)域
- 添加、尋找和移動(dòng)家居設(shè)備(如燈泡或溫度調(diào)節(jié)裝置)
- 定義能夠使一組多個(gè)家居設(shè)備響應(yīng)的行為
- 管理用戶
- 用Siri來操控他們的家居設(shè)施
想要了解如何在你的應(yīng)用中使用HomeKit,可參閱HomeKIt Developer Guide。下面的指南可以幫助你做出一個(gè)容易上手、令人愉悅的智能家居程序。
不要想當(dāng)然地認(rèn)為你的設(shè)備會(huì)是用戶所設(shè)置的首個(gè)設(shè)備。你的應(yīng)用除了能讓用戶很容易就能創(chuàng)建家居環(huán)境、房間和區(qū)域,還需要讓用戶能方便地將你的設(shè)備接入之前已經(jīng)設(shè)置好了的區(qū)域中。
讓添加新設(shè)備變得簡(jiǎn)單。不要強(qiáng)迫用戶在添加設(shè)備之前注冊(cè)賬號(hào)。最好讓你的應(yīng)用能自動(dòng)發(fā)現(xiàn)新的設(shè)備并將他們顯著地展示在用戶界面上。確保所展示的信息足夠充分讓用戶可以輕易辨識(shí)出該家居設(shè)備。
幫助用戶辨認(rèn)他們正在調(diào)節(jié)的設(shè)備。給用戶一個(gè)能夠幫助他們從物理屬性辨認(rèn)設(shè)備的控制器。例如,你可以讓用戶通過閃一下燈泡來確認(rèn)他們正在調(diào)節(jié)的是他們想要調(diào)節(jié)的那個(gè)。
讓用戶能夠通過多種方式來搜尋設(shè)備。當(dāng)天的時(shí)間、季節(jié)和用戶當(dāng)前的位置會(huì)在特定的時(shí)刻成為判別某些設(shè)備是否重要的影響因素。因此,你的應(yīng)用應(yīng)該允許用戶能在家中按類型、名稱、或者位置的方式來搜尋設(shè)備。
為家中已接入的設(shè)備提供推薦的操作集。操作集允許用戶設(shè)定在某種情景下讓多個(gè)家居設(shè)備按照特定的方式行動(dòng)。例如,一個(gè)“離開”操作集可以將房屋內(nèi)的溫度調(diào)低、關(guān)閉電燈和鎖上所有房門。你的應(yīng)用可以向用戶推薦一些已經(jīng)設(shè)定好了的操作集或者讓用戶創(chuàng)建自定義操作集。當(dāng)用戶能夠基于房間或區(qū)域去創(chuàng)建自定義操作集時(shí),讓用戶可以從你推薦的設(shè)備列表中進(jìn)行選擇,通常能使用戶獲得更好的體驗(yàn)。
使用友好的交談式語(yǔ)言讓你的應(yīng)用平易近人、易于使用。智能家居概念可能會(huì)懵到用戶,應(yīng)避免使用他們可能不理解的縮寫和技術(shù)術(shù)語(yǔ)。例如,HomeKit是指代API的專用技術(shù)術(shù)語(yǔ),它就不應(yīng)該在你的應(yīng)用中使用。
注意:如果你是蘋果MFi認(rèn)證許可商,請(qǐng)?jiān)L問MFi門戶網(wǎng)站查看設(shè)備包裝的命名及消息通知的規(guī)則。
與Siri互動(dòng)。通過Siri,使用一個(gè)簡(jiǎn)單的陳述句就能控制執(zhí)行復(fù)雜的操作。Siri能夠識(shí)別操作集、房屋、房間和區(qū)域的名稱,并且能夠理解像“Siri,把前門關(guān)了”、“Siri,把樓上的燈關(guān)了”和“Siri,把多媒體房的溫度調(diào)高一點(diǎn)”這樣的陳述。遵循以下準(zhǔn)則能幫助你為用戶提供使用Siri操控設(shè)備時(shí)的良好體驗(yàn):
- 使用Siri能夠識(shí)別的功能名稱,而非設(shè)備名稱。一個(gè)設(shè)備可能提供多種功能(例如,一個(gè)既有風(fēng)扇功能又有照明功能的風(fēng)扇吊燈),因此,幫助用戶區(qū)分這些功能是很重要的。最佳方案是讓用戶在一系列不包含公司名稱及型號(hào)的限定的名稱中進(jìn)行選擇,并且允許他們以后編輯。你所推薦的名稱應(yīng)該使用規(guī)范的、容易理解的詞語(yǔ)來描述功能,并可選擇是否包含家中的位置信息,例如“客廳燈”或者“車庫(kù)門”。你還可以讓用戶指定一種控制插座開關(guān)的通用口令,例如“Siri,把燈關(guān)了”,來控制所有的燈具和其相關(guān)的設(shè)備
- 當(dāng)用戶配置操作集的時(shí)候,告訴用戶如何通過Siri去操控它。舉個(gè)例子,當(dāng)“電影”這個(gè)操作已經(jīng)確認(rèn)配置完畢時(shí),讓用戶知道他可以通過跟Siri說“Siri,把家調(diào)成電影模式”這樣的話來激活這個(gè)操作。 注意,當(dāng)用戶單獨(dú)對(duì)Siri說出某操作的名稱時(shí),同樣也能激活那個(gè)操作。Siri能夠識(shí)別系統(tǒng)預(yù)置以及用戶自定義的操作集,這些已配置的操作集至少包含一項(xiàng)操作
幫助用戶設(shè)置觸發(fā)機(jī)制。在iOS9中,HomeKit支持觸發(fā)機(jī)制:當(dāng)滿足特定的時(shí)間、地點(diǎn)或其他設(shè)備的行為的條件時(shí)激活操作的方式。比如用戶可以設(shè)置一個(gè)當(dāng)太陽(yáng)落山且車庫(kù)門打開時(shí),就打開廚房燈操作的觸發(fā)機(jī)制。設(shè)置一個(gè)包含多個(gè)項(xiàng)目的條件關(guān)系容易使人感到混亂,因此,將你的設(shè)置界面做得簡(jiǎn)單易用至關(guān)重要。舉例來說,使用與人們平常說話一樣的表達(dá)方式來展示項(xiàng)目、屬性和邏輯,就更容易使人理解。
3.8?多任務(wù)處理(Multitasking)
多任務(wù)處理讓人們?cè)谄聊簧?在合適的iPad模式上)查看多個(gè)應(yīng)用,可以在最近使用的應(yīng)用之間進(jìn)行快速切換。在iOS9,中,人們可以使用多任務(wù)處理UI(下圖所示)去選擇最近使用的應(yīng)用。
能否在多任務(wù)處理中處理好取決于能否在設(shè)備中與其他應(yīng)用和諧共存。從更高的層面來說,這意味著所有的應(yīng)用都應(yīng):
- 仔細(xì)調(diào)整資源使用避免占用太多CPU,內(nèi)存,屏幕空間和其他資源
- 處理好中斷或來自其他應(yīng)用的聲音
- 停止和重啟,即快速平滑地從后臺(tái)切換到前臺(tái)
- 不在前臺(tái)時(shí)應(yīng)恪守己任
下述指南細(xì)則可以幫助你的應(yīng)用在專注應(yīng)用切換的多任務(wù)處理中取得成功。更多合格的iPad模式下關(guān)于多任務(wù)環(huán)境中運(yùn)行的信息,參閱Adopting Multitasking Enhancements on iPad.
準(zhǔn)備好被打斷,并恢復(fù)。多任務(wù)處理增加了后臺(tái)應(yīng)用中斷你的應(yīng)用的可能性。其他特性,諸如廣告出現(xiàn)和更快的應(yīng)用切換,也會(huì)造成更頻繁地打斷。越快速和越精確地保存應(yīng)用當(dāng)前狀態(tài),人們就可以越快地重新運(yùn)行應(yīng)用,并從之前離開的頁(yè)面繼續(xù)使用。你可以通過利用UIKit的狀態(tài)保存和恢復(fù)來為用戶提供無縫的重新開始的體驗(yàn)(查看Preserving Your App’s Visual Appearance Across Launches了解更多信息)。
確保你的UI可以處理兩倍高度的狀態(tài)欄。兩倍高度的狀態(tài)欄會(huì)在諸如通話、錄音和共享等過程中出現(xiàn)。在未作處理的應(yīng)用中,狀態(tài)欄的額外高度會(huì)引起布局問題,如UI被向下擠壓或者被遮住。在多任務(wù)處理環(huán)境中,使兩倍高狀態(tài)欄顯示正常是格外重要的,因?yàn)樗赡軙?huì)出現(xiàn)在更多的應(yīng)用當(dāng)中。
準(zhǔn)備好暫停需要人們注意或主動(dòng)參與的活動(dòng)。例如,如果你的應(yīng)用是一款游戲或媒體觀看應(yīng)用,你需要確保你的用戶從應(yīng)用切換走時(shí),不會(huì)丟失任何內(nèi)容或事件。當(dāng)人們切換回游戲或媒體播放器時(shí),他們希望能繼續(xù)之前的體驗(yàn),就好像他們從未離開過應(yīng)用。
確保音頻行為合適。當(dāng)你的應(yīng)用正在運(yùn)行時(shí),多任務(wù)處理會(huì)使得其他媒體活動(dòng)更可能地同時(shí)進(jìn)行,也會(huì)有更多可能性使你的音頻不得不暫停,并恢復(fù)處理中斷。查看聲音來幫助你確保你的音頻能滿足人們的期望,并與設(shè)備中的其他音頻和平共處。
適度使用本地通知。應(yīng)用可以在特定時(shí)間發(fā)送本地通知,無論應(yīng)用是在暫停中還是運(yùn)行中亦或是根本就沒有運(yùn)行。為了達(dá)到最好的用戶體驗(yàn),應(yīng)避免用過多的通知來騷擾人們,并遵循通知中創(chuàng)建通知內(nèi)容的指南。
必要時(shí),在后臺(tái)完成用戶的任務(wù)。當(dāng)人們開始一個(gè)任務(wù)時(shí),他們通常會(huì)期望即使已經(jīng)從應(yīng)用中切換走了任務(wù)仍能夠完成。如果你的應(yīng)用在執(zhí)行用戶任務(wù)途中,并且這個(gè)任務(wù)不需要額外的用戶交互,那么你就應(yīng)該在應(yīng)用掛起之前就在后臺(tái)完成任務(wù)。
3.9 通知(Notifications)
通知為人們提供即時(shí)的重要信息和功能。人們能在多種情況下收到通知,例如在鎖屏界面中,或者在使用應(yīng)用時(shí),或者訪問通知中心時(shí)。 通知中心有兩種視圖:通知(Notifications?)和今天(Today)。
今天視圖顯示了一組可編輯的部件。今天部件是一個(gè)應(yīng)用擴(kuò)展,顯示了少量及時(shí)和重要的信息或功能,這些信息或功能則是由用戶所關(guān)注的應(yīng)用所提供。舉例來說,日歷部件只顯示了今天的事件。點(diǎn)擊日歷部件中的一個(gè)事件可以喚起日歷應(yīng)用,并打開該事件,用戶接下來可以編輯該事件或管理其他的事件。想要了解更多關(guān)于設(shè)計(jì)今天部件的內(nèi)容,請(qǐng)參見今天部件。
通知視圖會(huì)顯示用戶感興趣的應(yīng)用所發(fā)出的最近通知。用戶可以在設(shè)置(Settings)中來設(shè)置是否在通知中心顯示該應(yīng)用的通知。 iOS應(yīng)用可以使用通知來讓人們知道一些有趣的事情是什么時(shí)候發(fā)生的,例如:
- 收到一條消息
- 事件即將發(fā)生
- 有新的數(shù)據(jù)可下載了
- 某些狀態(tài)發(fā)生了變化
在iOS8及之后的版本中,應(yīng)用可以定義用戶在通知中的操作。例如,用戶可以在待辦事項(xiàng)應(yīng)用的通知中就標(biāo)記該事項(xiàng)已完成,而無需額外打開應(yīng)用。 iOS定義了兩種類型的通知。
- 本地通知(local notification)由應(yīng)用安排待發(fā)送,最終通過iOS發(fā)送到同一設(shè)備中,無論該應(yīng)用當(dāng)前是否正在后臺(tái)運(yùn)行。例如,日歷或待辦事項(xiàng)應(yīng)用可以安排一條本地通知來提醒人們一個(gè)即將到來的會(huì)議或者日期。
- 遠(yuǎn)程通知(remote notification)(也稱為推送通知(push notification))是由應(yīng)用的遠(yuǎn)程服務(wù)器通過蘋果推送通知服務(wù)來發(fā)送的,這類通知最終會(huì)被推送到所有安裝了該應(yīng)用的設(shè)備。例如,一款在線競(jìng)技類的游戲,用戶可以和其他玩家競(jìng)賽的,可以更新所有玩家的最新狀態(tài)。
注意:應(yīng)用擴(kuò)展可能會(huì)要求遠(yuǎn)程通知必須發(fā)送到它的容器應(yīng)用。在這種場(chǎng)景下,容器應(yīng)用常常會(huì)在后臺(tái)運(yùn)行來處理通知。想要了解更多關(guān)于應(yīng)用擴(kuò)展的內(nèi)容,請(qǐng)參見應(yīng)用擴(kuò)展。
如果當(dāng)你的應(yīng)用正在后臺(tái)運(yùn)行時(shí)收到了本地或遠(yuǎn)程的通知,你就應(yīng)該以你的應(yīng)用所特有的方式將信息傳達(dá)給你的用戶。 為了確保用戶能夠自定義他們的通知體驗(yàn),你應(yīng)該盡可能多地支持以下的通知類型:
- 橫幅(Banner)
- 警告框(Alert)
- 小氣泡(Badge)
- 聲音(Sound)
注意:在iOS8及之后的版本中,你必須對(duì)所有你想發(fā)送給用戶的通知類型進(jìn)行注冊(cè)。當(dāng)你第一次進(jìn)行注冊(cè)動(dòng)作時(shí),用戶會(huì)遇到一個(gè)警告框,他們可以在其中操作來決定允許或拒絕所有來自你的應(yīng)用的通知。不管用戶選擇的結(jié)果是什么,他們應(yīng)始終能訪問應(yīng)用的設(shè)置來更改此項(xiàng)設(shè)置,或者設(shè)置他們想要接收的通知類型。
橫幅(banner)是一個(gè)小而透明的視圖,會(huì)出現(xiàn)在屏幕頂部并在幾秒后消失。用戶還可以看到在鎖屏當(dāng)中的橫幅以及在通知中心中以通知形式出現(xiàn)的橫幅。在橫幅中,iOS會(huì)顯示通知的內(nèi)容和應(yīng)用的小圖標(biāo)(欲了解更多關(guān)于小圖標(biāo)的內(nèi)容,請(qǐng)參見?App Icon)。用戶點(diǎn)擊橫幅來隱藏顯示并切換到發(fā)送通知的應(yīng)用。
除了默認(rèn)的點(diǎn)擊動(dòng)作之外,當(dāng)用戶輕掃橫幅時(shí),你還可以定義兩個(gè)動(dòng)作按鈕。點(diǎn)擊通知?jiǎng)幼靼粹o來隱藏橫幅的顯示并啟動(dòng)你的應(yīng)用(可能是在后臺(tái))來執(zhí)行動(dòng)作。
通知警告框是顯示在屏幕上的標(biāo)準(zhǔn)警告框視圖,需要用戶操作后才會(huì)隱藏。當(dāng)用戶點(diǎn)擊Options按鈕后,你需要提供并顯示通知消息以及任何一個(gè)默認(rèn)動(dòng)作,或最多四個(gè)特定動(dòng)作。警告框的背景樣式不能做修改。 當(dāng)用戶點(diǎn)擊警告框中的一個(gè)默認(rèn)或自定義動(dòng)作按鈕時(shí),iOS會(huì)同時(shí)隱藏警告框并運(yùn)行你的應(yīng)用(可能是在后臺(tái))。點(diǎn)擊關(guān)閉或確定按鈕會(huì)隱藏警告框而不打開應(yīng)用。
小氣泡(badge)是一個(gè)顯示未讀通知數(shù)量的紅色小圓(小氣泡顯示在應(yīng)用圖標(biāo)的右上角)。小氣泡的大小和顏色不能做修改。 橫幅、警告框和小氣泡這三種通知都可以使用自定義或系統(tǒng)提供的聲音。
在通知中謹(jǐn)慎使用具破壞性的動(dòng)作。要確定用戶有足夠的上下文來避免意想不到的后果。為了幫助用戶區(qū)分你所定義的破壞性動(dòng)作,iOS會(huì)用紅色來顯示它。有時(shí)候,在應(yīng)用執(zhí)行破壞性動(dòng)作之前,應(yīng)該請(qǐng)求用戶進(jìn)行確認(rèn)。舉個(gè)例子,如果在鎖屏的橫幅(banner)中提供了一個(gè)破壞性動(dòng)作,那么就應(yīng)確保只有設(shè)備的主人才能執(zhí)行該動(dòng)作(你需要在代碼上實(shí)現(xiàn)這一需求)。
為每個(gè)動(dòng)作按鈕提供自定義標(biāo)題。創(chuàng)建一個(gè)簡(jiǎn)短的標(biāo)題來描述清楚將要發(fā)生的動(dòng)作。例如,游戲可能會(huì)使用“Play”作為標(biāo)題來表明,點(diǎn)擊這個(gè)按鈕會(huì)打開應(yīng)用來進(jìn)行游戲。確保標(biāo)題:
- 使用標(biāo)題樣式的大小寫(title-style capitalization)
- 足夠簡(jiǎn)短,能不被截?cái)嗟仫@示在按鈕內(nèi)(也應(yīng)確保測(cè)試各種語(yǔ)言文字的標(biāo)題顯示正常)
不要為同一個(gè)事件重復(fù)發(fā)送通知。用戶可以選擇處理通知項(xiàng);通知項(xiàng)在用戶未處理前會(huì)一直顯示。如果為同一事件重復(fù)發(fā)送通知,通知中心列表中會(huì)滿是通知,用戶就有可能會(huì)關(guān)閉你的應(yīng)用的通知。
不要在通知消息中包含你的應(yīng)用名稱。自定義信息會(huì)在警告框和橫幅中顯示,也會(huì)在通知中心中以通知的形式顯示。你無需在自定義信息中顯示你的應(yīng)用名稱,因?yàn)閕OS會(huì)在顯示信息的同時(shí)自動(dòng)顯示應(yīng)用名稱。 為了使本地或遠(yuǎn)程通知信息更有作用,你應(yīng)該:
- 專注于信息而不是用戶的行為。避免告訴人們點(diǎn)擊哪個(gè)按鈕或如何打開你的應(yīng)用
- 足夠簡(jiǎn)短,一兩行就可以顯示完整。較長(zhǎng)的信息對(duì)于用戶來說很難進(jìn)行快速閱讀,也會(huì)造成在警告框中需要滾動(dòng)才能查看完整
- 使用句式大小寫(sentence-style capitalization),并配以合適的結(jié)束語(yǔ)句符號(hào)??赡艿臅r(shí)候,可以使用一個(gè)整句
注意:如有必要,iOS會(huì)縮短你的消息以便能在各種通知發(fā)送樣式下顯示;為了最好的效果,你不應(yīng)主動(dòng)縮減你的消息。
保持小氣泡的內(nèi)容是最新的。當(dāng)用戶注意到新信息時(shí),即時(shí)更新小氣泡非常重要,這樣用戶就不會(huì)覺得收到了額外的通知。注意,當(dāng)小氣泡為0時(shí)也會(huì)移除通知中心中所有對(duì)應(yīng)的通知項(xiàng)。
重要:不要使用小氣泡做通知以外的用途。記住,用戶能夠關(guān)閉應(yīng)用的小氣泡,所以你無法確定他們一定能看到小氣泡中的內(nèi)容。
當(dāng)收到通知時(shí),提供用戶可以選擇聽到的音效。當(dāng)人們沒有在看屏幕的時(shí)候,可以通過音效獲取他們的注意。例如,日歷應(yīng)用可能會(huì)在顯示警告框的同時(shí)播放一個(gè)音效來提醒人們一個(gè)即將到來的事件。再如,協(xié)作任務(wù)管理應(yīng)用可能會(huì)在小氣泡更新時(shí)播放一個(gè)音效來告知某個(gè)遠(yuǎn)程協(xié)同的同事已經(jīng)完成了某個(gè)任務(wù)。
你可以提供自定義的音效,或者使用內(nèi)置的警告音。如果你創(chuàng)建了自定義音效,請(qǐng)確保它是簡(jiǎn)短的、有特色的并且是經(jīng)由專業(yè)制作的。(想要了解更多關(guān)于音效的技術(shù)需求,請(qǐng)參閱Local and Remote Notification Programming Guide中的Preparing Custom Alert Sounds。)注意,當(dāng)通知發(fā)送后,你無法以編程方式來觸發(fā)設(shè)備的震動(dòng),因?yàn)橛脩魧?duì)于警告框是否伴隨震動(dòng)擁有支配權(quán)。
3.10 社交媒體(Social Media)
人們會(huì)期望在任何場(chǎng)景下都可以使用他們喜愛的社交媒體帳號(hào)。iOS以人們喜歡的方式將社交媒體的交互與你的應(yīng)用進(jìn)行了整合。
注意:當(dāng)用戶點(diǎn)擊動(dòng)作按鈕時(shí),他們會(huì)得到一個(gè)如上圖的動(dòng)作視圖控制器。想要了解更多關(guān)于這個(gè)視圖控制器的內(nèi)容,請(qǐng)參見Activity View Controller。
動(dòng)作視圖控制器的中間一行顯示了用戶啟用的和系統(tǒng)提供的分享應(yīng)用擴(kuò)展。想要了解更多關(guān)于設(shè)計(jì)分享擴(kuò)展的內(nèi)容,請(qǐng)參見Share and Action Extensions。
考慮在你的應(yīng)用中為用戶提供一種簡(jiǎn)便的方式來撰寫郵件。用戶有可能會(huì)啟用分享擴(kuò)展以便能在任何地方都可以發(fā)送內(nèi)容。但是你也可以使用系統(tǒng)提供的撰寫視圖控制器來呈現(xiàn)給用戶,他們可以在其中進(jìn)行編輯操作。你可以在顯示給用戶進(jìn)行編輯之前,預(yù)先加載具有自定義內(nèi)容的撰寫視圖(在你呈現(xiàn)給用戶之后,只有用戶可以編輯這些自定義內(nèi)容)。想要了解更多關(guān)于社交框架(Social framework)的編程界面,包括SLComposeViewController類,請(qǐng)參見?Social Framework Reference.
如果可能,避免要求用戶登錄進(jìn)入一個(gè)社交媒體賬戶。社交框架(Social framework)會(huì)和帳號(hào)框架(Accounts framework)一起來支持一個(gè)單點(diǎn)登錄模式,所以你可以獲得授權(quán)來訪問用戶的帳號(hào),而無需要求他們來重新授權(quán)。如果用戶還沒有登錄進(jìn)入一個(gè)帳號(hào),你可以顯示UI來讓他們進(jìn)行登錄。
3.11 iCloud
iCloud可以讓用戶隨時(shí)隨地用不同的設(shè)備訪問他們想要的內(nèi)容。將iCloud集成到應(yīng)用中,用戶不用進(jìn)行同步操作就可以在不同場(chǎng)景下使用不同的設(shè)備訪問并編輯私人信息。
為了提供這種體驗(yàn),你可能需要重新檢查你的應(yīng)用中現(xiàn)有的信息,尤其是用戶自建內(nèi)容的存儲(chǔ)、訪問和展示方式。想要了解如何使用iCloud,請(qǐng)參考iCloud Design Guide.
iCloud用戶體驗(yàn)的一個(gè)基本方向是透明性:理想情況下,用戶不需要知道他們的信息存儲(chǔ)在什么地方,也不需要去思考當(dāng)前瀏覽的信息是哪個(gè)版本的。以下幾點(diǎn)可以幫助你創(chuàng)建用戶期望的iCloud體驗(yàn)。
如果可能,讓用戶方便地在你的應(yīng)用中啟用iCloud。在iOS設(shè)備上,用戶可以在設(shè)置中登錄iCloud賬戶,因此多半用戶會(huì)期望應(yīng)用可以自動(dòng)啟用iCloud。但是如果你覺得用戶可能需要自主選擇是否使用你應(yīng)用的云服務(wù),你可以在用戶第一次進(jìn)入應(yīng)用時(shí)提供一個(gè)簡(jiǎn)單的選項(xiàng)來進(jìn)行設(shè)置。大多數(shù)情況下,這個(gè)選項(xiàng)應(yīng)該為:是否將所有內(nèi)容上傳到云端。
尊重用戶的iCloud空間。一定要記住iCloud空間是用戶花錢買來的有限資源。你應(yīng)該使用iCloud來存儲(chǔ)用戶自己創(chuàng)建和可理解的信息,避免將可再生的應(yīng)用資源和內(nèi)容存儲(chǔ)在云端。同樣要記住,當(dāng)用戶登錄了iCloud賬戶時(shí),你的應(yīng)用的文件夾內(nèi)容也會(huì)自動(dòng)備份到云端。所以為了節(jié)省用戶云端空間,你最好只挑選必要的信息存儲(chǔ)于文件夾中。
避免讓用戶自己選擇在iCloud上存儲(chǔ)哪些文件。一般地,用戶會(huì)期望他們?cè)谝獾乃行畔⒍寄軌蛲ㄟ^iCloud訪問到。實(shí)際上大多數(shù)用戶都不需要進(jìn)行個(gè)人文件存儲(chǔ)的管理,所以你的應(yīng)用也可以不用考慮這個(gè)問題。為了提供更好的用戶體驗(yàn),你可能想要重新構(gòu)建處理和展示內(nèi)容的方式,這樣就可以給用戶提供更多的文件管理功能。
決定哪種類型的信息需要存儲(chǔ)在云端。除了存儲(chǔ)用戶自建的文件和內(nèi)容,你還可以存儲(chǔ)少量的其他信息在云端,例如用戶當(dāng)前的狀態(tài),用戶的偏好設(shè)置等等。你可以使用iCloud的關(guān)鍵值存儲(chǔ)來保存這類信息。例如,用戶使用你的應(yīng)用看了一個(gè)雜志,你可以使用iCloud的關(guān)鍵值存儲(chǔ)來保存用戶瀏覽到的位置,這樣用戶在別的設(shè)備上重新打開這個(gè)雜志時(shí)就能從上次離開的地方繼續(xù)瀏覽了。
如果你使用iCloud的關(guān)鍵值存儲(chǔ)來保存用戶的偏好設(shè)置,確保用戶在每個(gè)設(shè)備上都是想這樣設(shè)置的。例如,有些偏好設(shè)置在工作環(huán)境中比在家里要更好用。在某些情況下,將偏好設(shè)置保存在應(yīng)用服務(wù)器上要比保存在云端更合理,這樣偏好設(shè)置就不會(huì)受iCloud的限制。
確保iCloud無法使用時(shí)應(yīng)用的行為是合理的。例如,用戶退出iCloud賬戶,關(guān)閉應(yīng)用的iCloud或者進(jìn)入飛行模式時(shí),iCloud都是無法使用的。在這些情況下,用戶都進(jìn)行了某些操作來禁止iCloud服務(wù),所以你的應(yīng)用可以不用再進(jìn)行提醒。但是,需要告訴用戶在打開iCloud之前,當(dāng)前做的修改在其他設(shè)備上都無法看到。
避免給用戶創(chuàng)建“本地”文件的選項(xiàng)。不管你的應(yīng)用是否支持iCloud,都不應(yīng)該給用戶提供因設(shè)備而區(qū)分的文件系統(tǒng)。相反,你應(yīng)該希望用戶關(guān)注通過iCloud訪問文件的普適性。
在合適的時(shí)候自動(dòng)更新信息。最好不需要用戶來確認(rèn)他們正在訪問的是最新的內(nèi)容。但是,也需要在用戶設(shè)備存儲(chǔ)空間和帶寬限制之間做出平衡。如果你的用戶要使用非常大的文件,那么讓他們自己選擇是否要從云端下載一個(gè)更新的文件可能更合適。如果需要這樣做的話,可以設(shè)計(jì)一種方式來指出當(dāng)前在云端有一個(gè)該文件的最新版本。當(dāng)用戶選擇更新時(shí),如果下載時(shí)間較長(zhǎng)最好給用戶明顯的反饋。
告知用戶刪除某文件的后果。當(dāng)用戶從有iCloud服務(wù)的應(yīng)用上刪除文件的時(shí)候,這個(gè)文件同樣會(huì)從用戶的iCloud賬號(hào)和其他設(shè)備上刪除。所以最好在執(zhí)行刪除操作之前告知用戶刪除的后果,讓用戶進(jìn)行確認(rèn)。
必要時(shí)盡可能早地告知用戶沖突問題。使用iCloud編程接口,你需要在不打擾到用戶的情況下解決大多數(shù)不同版本之間的沖突問題。但在有些情況下,你需要盡可能早地檢測(cè)出沖突問題來避免用戶在錯(cuò)誤版本上浪費(fèi)太多時(shí)間。你需要設(shè)計(jì)一種自然的方式來告訴用戶有沖突存在,接著給用戶提供方便的方式來區(qū)分不同版本以及做出決策。
確保在搜索中包括用戶在云端的信息。使用iCloud的用戶趨向于認(rèn)為云端的信息是普遍可訪問的,所以他們會(huì)期望搜索結(jié)果中也有云端的信息。如果你的應(yīng)用允許用戶搜索他們的信息,確保你使用了將搜索擴(kuò)展到iCloud賬戶的接口。
相關(guān)閱讀:
iOS 9人機(jī)界面指南(一):UI設(shè)計(jì)基礎(chǔ)
iOS 9人機(jī)界面指南(二):設(shè)計(jì)策略
本章英文原文訪問地址:iOS Human Interface Guidelines
本章中文翻譯PDF下載:點(diǎn)擊下載
來源:騰訊ISUX(http://isux.tencent.com/ios9-guideline-ch3-1.html)
版權(quán)聲明:若該文章涉及版權(quán)問題,請(qǐng)聯(lián)系我們主編,QQ:419297645
- 目前還沒評(píng)論,等你發(fā)揮!