티스토리 뷰
기술조사가 필요해서 간단히 정리해보기
# Live Activity
앱의 최신 정보를 표시하여, 사람들이 이벤트 또는 작업의 진행상황을 한눈에 볼 수 있도록 한다.
Live Activity는 아이폰에서만 사용가능
# Live Activity가 나타날 수 있는 위치
1. 잠금화면 (Dynamic Island 지원여부와 상관없이 16+ 모든 디바이스에서 나타남.)
2-1. Dynamic Island 지원 O ➡️ Dynamic Island에 나옴
2-2. Dynamic Island 지원 X ➡️ 사람들이 홈 화면을 보거나 다른 앱을 사용하는 동안 잠시상단 화면에 나타나는 배너 (앱에서 업데이트가 사람들을 방해할 만큼 중요하다고 판단하는 경우에만 표시됨. 이건 따로 코드로 작업해줘야하는거라 일반적인(?) 상황에서는 안보이는게 맞음. )
# 권한
Live Activity는 따로 권한 요청 Alert를 띄우는건 아니고..
처음에 잠금화면에서
이렇게 뜬다. (잠금화면에서만 나오고, Dynamic Island 에서는 따로 권한 설정 버튼이 나오진 않는다.)
설정에서 각 앱의 실시간 현황(Live Activity) 권한을 on/off 할 수 있다.
권한을 off하면 Dynamic Island에서도 안나옴.
# Presentation
시스템이 Live Activity를 표시하기 위해 여러 Presentation을 사용함
- Compact
- Minimal
- Expanded
- Lock Screen
Live Activity를 지원하는 모든 디바이스 제대로 동작할 수 있도록 모든 타입을 지원해야한다.
# 제약
1. Live Activity는 앱이나 사용자가 종료하지 않는 이상 최대 8시간 동안 활성화 될 수 있음
이 8시간 제한이 지나면 시스템이 자동으로 종료
Live Activity이 종료되면 시스템은 이를 Dynamic Island에서 즉시 제거
Live Activity는 사람 or 시스템이 제거하기 전 최대 4시간 동안 잠금 화면에 남아있음.
결과적으로 Live Activity는 최대 12시간동안 잠금화면에 남아있을 수 있음.
2. 디바이스 presentation 크기보다 작거나 같은 해상도를 사용하려면 Live Activity에 대한 이미지 Asset이 시스템에 필요함.
Live Activity Presentation 크기보다 큰 이미지 Asset을 사용하는 경우, 시스템이 Live Activity를 시작하지 못할 수 있음.
참고 : Human Interface Guidelines > Live Activities.
3. 각 Live Activity는 자체 샌드박스에서 실행되며, Widget과 달리 네트워크에 접근하거나 위치 업데이트를 받을 수 없음
현재 실행중인 Live Activity의 동적 데이터를 업데이트하려면,
앱에서 ActivityKit 프레임워크를 사용하거나, ActivityKit 푸시알림을 사용할 수 있음.
But 업데이트된 동적 데이터는 크기가 4KB를 초과할 수 없음
참고 : Updating and ending your Live Activity with ActivityKit push notifications.
# Best practices
1. 시작과 끝이 있는 작업 / 라이브 이벤트에 대해 Live Activity를 제공할 것
8시간을 초과하는 작업에 대해서는 Live Activity를 제공하지 말고, 작업/이벤트가 종료된 직후에 Live Activity를 잘 종료하기
2. 정말 필수적인 컨텐츠만 제시할 것 (== TMI ㄴㄴ)
사람들은 작업/이벤트에 대한 요약, 핵심정보를 얻는걸 좋아하지 세부정보 표시하지 말것.
3. 새로운 컨텐츠를 사용할 수 있을때만 Live Activity 업데이트 / 주의를 끄는것이 꼭 필요한 경우에만 유저에게 알리기
Live Activity는 그냥 혼자 업데이트 하면 되는데, 꼭 유저에게 알려야겠다면 꼭 필요할 때만 알려라..
너무 자주 경고하거나, 중요하지 않은 업데이트에 대해 계속 알리면 짜증나고 결국 Live Activity 사용을 중단하도록 할 수 있음
Dynamic Island를 지원하지 않는 기기 && 사용자에게 Alert을 보내는 코드를 작성하게 되면 아래와같이 배너로 뜨게 되는데,
이게 홈 or 다른 앱을 사용중일때 뜰 수 있기 때문에 진짜 꼭 필요할때만 유저가 알 수 있도록 하기
4. Live Activity에 민감한 정보 표시 X
Live Activity를 탭해야 더 많은 정보를 얻도록 하기
5. Live Activity를 사용하여 광고 또는 프로모션 X
6. 사용자가 직접 Live Activity의 시작과 종료를 제어할 수 있도록 하기
[시작]
앱 내에서 Live Activity를 시작하도록 하는 버튼을 제공하는 것도 괜찮음.
근데!!!! Live Activity가 자동으로 시작될것으로 예상하는 몇가지 상황이 있음.
ex. 음식 배달, 차량 호출 등을 했을 때 즉시 자동으로 Live Activity를 시작하는 게 좋음
But. 설정에서 Live Activity를 끌 수 있으므로 예상하지 못한 Live Activity를 시작하여 사람들을 놀라게 하지 않는것이 중요!!!!!!
[종료]
작업/이벤트가 완료되지 않아도 사람들이 Live Activity를 종료할 수 있도록 Live Activity를 중지하거나 취소하는 버튼을 제공할 것.
그 Live Activity 보여주는 Presentation쪽에서 보여줘야한다는건 아니고, 앱 내에서 종료할 수 있도록 제공하라~~는 뜻
참고
https://developer.apple.com/documentation/activitykit/displaying-live-data-with-live-activities
'iOS' 카테고리의 다른 글
[삽질 기록] GradationView 만들기 (0) | 2023.08.27 |
---|---|
viewIsAppearing (2) | 2023.07.31 |
기본 앱 설정에 Custom Section 추가하기 (2) - Child Pane (0) | 2022.03.12 |
기본 앱 설정에 Custom Section 추가하기 (1) (2) | 2022.03.11 |
"사용자의 앱으로 만들 수 있는 단축어"에 내 앱 추가하기 with NSUserActivity (0) | 2021.06.25 |
- np-complete
- swift tutorial
- swift sort
- WKWebView
- WidgetKit
- actor
- Xcode
- IOS
- fastlane
- np-hard
- swift 공부
- github
- iOS delegate
- 제이슨 파싱
- swift delegate
- UIBezierPath
- FLUTTER
- Accessibility
- SwiftUI
- WWDC
- swift array
- 스위프트
- Combine
- 피아노
- 회고
- swift3
- 스위프트 문법
- ios 13
- Swift
- Git
- Total
- Today
- Yesterday