靈動(dòng)島適配指南
Part 01
靈動(dòng)島簡(jiǎn)介
靈動(dòng)島全稱Dynamic Island,作為iOS中實(shí)時(shí)活動(dòng)(Live Activities)功能的一部分,用來展示需要實(shí)時(shí)更新的消息。例如外賣配送信息,地圖實(shí)時(shí)導(dǎo)航信息等。靈動(dòng)島有3種展現(xiàn)形式。
1.1 緊湊(Compact)
當(dāng)系統(tǒng)只有1個(gè)實(shí)時(shí)活動(dòng)的內(nèi)容時(shí),靈動(dòng)島默認(rèn)使用緊湊模式。緊湊模式下UI由頭部(Leading side)和尾部(Trailing side)組成,如圖1所示。用戶可以點(diǎn)擊靈動(dòng)島打開App查看實(shí)時(shí)活動(dòng)的內(nèi)容。
圖1
1.2 最小化(Minimal)
當(dāng)系統(tǒng)有多個(gè)實(shí)時(shí)活動(dòng)的內(nèi)容時(shí),靈動(dòng)島自動(dòng)切換使用最小化模式。最小化模式下由附著的頭部(Leading(attached))和分割開的尾部(Trailing(detached))組成,如圖2所示。和緊湊模式一樣,最小化模式也支持用戶點(diǎn)擊打開App。
圖2
1.3 擴(kuò)展(Expanded)
當(dāng)用戶在緊湊或最小化模式輕掃或長(zhǎng)按靈動(dòng)島時(shí),靈動(dòng)島可以切換成擴(kuò)展模式。用于向用戶展示更多信息。擴(kuò)展模式的UI設(shè)計(jì)盡量保持和緊湊模式一致,用戶從緊湊模式切換到擴(kuò)展模式會(huì)有一個(gè)平滑的體驗(yàn)。
圖3
當(dāng)我們向App Store提交了適配靈動(dòng)島的App版本時(shí),以上3種模式都需要適配。
Part 02
UI適配指南
2.1 尺寸
目前只有iPhone 14 Pro及iPhone 14 Pro MAX具有靈動(dòng)島功能。在兩種機(jī)型上,靈動(dòng)島的圓角半徑都為44Points,這個(gè)數(shù)值和前置深感攝像頭的半徑是一樣的。按照前述的3種模式,靈動(dòng)島的具體參數(shù)如下表格所示(表格涉及的數(shù)值表示Points)。
2.2 顏色
開發(fā)者無法更改靈動(dòng)島的背景顏色,只能更改文字顏色、素材顏色、靈動(dòng)島邊框顏色等。UI適配需要考慮系統(tǒng)的深色模式,必要情況可以使用兩套UI。
Part 03
開發(fā)適配指南
3.1 開發(fā)框架簡(jiǎn)介
蘋果在iOS 16.1正式對(duì)外開放了靈動(dòng)島適配框架-ActivityKit,第三方App可以使用這些ActivityKit完成靈動(dòng)島適配工作。注意,ActivityKit的API目前僅適用于iPhone。靈動(dòng)島使用WidgetKit和SwiftUI完成UI開發(fā)工作,ActivityKit在其中扮演創(chuàng)建Activity,請(qǐng)求數(shù)據(jù),更新數(shù)據(jù),結(jié)束Activity的角色。
圖4
3.2 權(quán)限管理
靈動(dòng)島作為實(shí)時(shí)活動(dòng)的一部分,需要實(shí)時(shí)活動(dòng)權(quán)限才能正常展示。和通知權(quán)限,相機(jī)權(quán)限等類似,實(shí)時(shí)活動(dòng)權(quán)限需要App主動(dòng)向用戶申請(qǐng),用戶也可以在“設(shè)置”中主動(dòng)關(guān)閉實(shí)時(shí)活動(dòng)權(quán)限。
圖5
Part 04
最佳實(shí)踐
靈動(dòng)島適配過程中,有些需要注意的點(diǎn)。一、靈動(dòng)島的實(shí)時(shí)信息要有明確的開始和結(jié)束時(shí)間點(diǎn);二、當(dāng)一個(gè)實(shí)時(shí)信息持續(xù)超過8小時(shí),系統(tǒng)會(huì)從靈動(dòng)島移除這個(gè)App的信息;三、當(dāng)一個(gè)實(shí)時(shí)活動(dòng)結(jié)束時(shí),靈動(dòng)島上的展示信息也會(huì)立即被系統(tǒng)移除。四、避免在靈動(dòng)島顯示廣告,畢竟引起用戶反感可以被直接關(guān)閉;五、App要能夠響應(yīng)靈動(dòng)島的點(diǎn)擊信息,跳轉(zhuǎn)到App中正確的子頁(yè)面,而不是停留在App的首頁(yè)。
在和家親業(yè)務(wù)落地中,例如設(shè)備的綁定、設(shè)備固件升級(jí)、設(shè)備重啟等用戶重點(diǎn)關(guān)注的流程可以考慮在靈動(dòng)島中展示,提升用戶交互體驗(yàn)。