위젯, 워치 컴플리케이션, 라이브 액티비티를 만들어 앱을 확장하기 위한 Widget Kit
Overview
앱 외부에서 앱의 내용에 접근 가능하도록 한다
에코시스템을 직관적으로 형성하여 up-to-date 경험을 만든다
<WidgetKit 내 에코시스템 구성요소>
Widgets
- 앱에서 개인화된 정보를 빠르게 강조 => 직관성 내제
- 앱을 런칭하지 않고 특정 앱의 기능 제공
- 애플 워치에서 Smart Stack에서 위쳇 표기
Smart Stacks
- Smart Rotate를 위한 App Intents 프레임워크에서 제공한 온디바이스 인텔리전스와 기능 사용
- Smart Rotate는 사용자의 현재 내용에 맞춰진 위젯을 스택의 가장 위에 표기
- 애플 워치에서 사용자가 위젯을 지정된 위치에 고정하거나 시스템이 자동적으로 정렬
Watch Complications
- 사용자가 손목을 들었을 때, 워치 페이스에 시기적절하고 연관성있는 정보 보기 위해 사용자가 워치 컴플리케이션을 비치
- Smart Stack에서 3개까지의 컴플리케이션 공간을 제공
Live Activities
- 라이브 엑티비티는 앱에서 이벤트나 할일 정보와 같은 가장 최신 내용을 잠금화면이나 다이나믹 아일랜드에 비치
- 업데이트와 옵션으로 Apple Push Notification service (APNs)를 위해 ActivityKit을 사용해 푸쉬 알림 보냄
반복되는 직관적인 특징
- WidgetKit은 iPad, iPhone, Mac, 그리고 Apple Watch에서 활용 가능하지만 사용자의 디바이스와 개인적 니즈에 가장 부합한 형태로 사용
- 모든 플랫폼에서 다양한 사이즈로 위젯을 표기할 수 있음
- iPhone과 iPad에서는 라이브 엑티비티 사용가능
- 위젯, 라이브 엑티비티, 워치 컴플리케이션을 기술과 디자인에서 유사성이 존재
- 반복적인 접근을 사용하고, 하나의 특징을 지지하는 형태 혹은 위젯의 사이즈를 선택하여라
- 하나의 작은 위젯으로 시작하되, 시작부터 플랫폼에 따른 추가적인 사이즈와 특징을 계획 및 디자인하여라
- 사용자에게 가능한 다양한 내용을 볼 수 있도록 해라
- Developing a WidgetKit strategy
상호작용성과 개인화 이해
WidgetKit의 에코시스템은 사용자가 앱 내용을 새로운 환경에서 볼 수 있게 해주며, 필요에 따라 앱과의 특정 인터렉션을 지원한다.
- 앱 혹은 해당 정보나 기능에 매칭되는 앱의 장면로 가기 위해 위젯, 워치 컴플리케이션, 혹은 라이브 엑티비티를 탭
- iOS 17, iPadOS 17, and macOS 14부터 사용자가 위젯과 라이브 엑티비티에서 버튼이나 토클을 사용하여 앱을 런칭하지 않고 상호작용을 이루어냄
연관된 정보 그리고 특정 기능을 직관적으로 제공하는 것에 추가적으로, 사용자는 디바이스 개인화를 위해 위젯, 워치 컴플리케이션, 라이브 엑티비티를 사용한다.
- 사용자 개인의 니즈에 적합한 디테일로 위젯과 워치 컴플리케이션 구성
- 사용자가 그들 스스로에게 가장 잘맞는 형태로 정돈
- 위젯을 쌓으면서 Smart Rotate를 활성화할 때, 가장 관련있는 위젯을 자동적으로 위로 올려 사용자가 그 시간에 가장 중요하게 여기는 정보를 확인할 수 있음
타임라인에 맞추어 내용 업데이트
위젯과 워치 컴플리케이션은 특별한 메커니즘을 활용하여 내용을 업데이트:
데이터 업데이트 타임라인을 만들어서 WidgetKit에 넘기기 => WidgetKit에서 에너지 활용적인 방안으로 업데이트를 할 수있도록 함
라이브 엑티비티는 내용을 업데이트하기 위해서 타임라인을 사용하지 않고, ActivityKit과 APNs를 통해 푸쉬 알림을 전달한다.
집중적이고 직관적인 디자인 참고자료
Human Interface Guidelines > Widgets, Human Interface Guidelines > Complications
Human Interface Guidelines > Live Activities
'IOS 개발지식 > 개발자 공식문서' 카테고리의 다른 글
[Technology] SiriKit (0) | 2023.06.24 |
---|---|
[Framework] ActivityKit (0) | 2023.06.24 |
[SwiftData] 1. CoreData의 새로운 버전: SwiftData (0) | 2023.06.22 |