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