Android 16에서 도입된 Live Updates(라이브 업데이트)는 알림(Notification)의 새로운 진화로, 사용자 여정(예: 택시 호출, 음식 배달, 내비게이션 등)을 실시간으로 추적할 수 있도록 설계된 새로운 알림 템플릿입니다. 기존에는 각 앱이 커스텀 방식으로 구현해야 했던 진행 상태 표시(progress bar)나 단계별 안내를, 이제는 표준 API로 손쉽게 구현할 수 있습니다[2][3][4][5].
주요 변화 및 특징
- Progress-centric notifications: 사용자가 시작한 여정의 진행 상황을 시각적으로 표시할 수 있습니다.
- 표준화된 API: Uber, Google Maps 등에서 이미 활용하던 기능을 모든 앱에서 일관되게 사용할 수 있습니다.
- 상태바, 잠금화면, AOD(Always On Display)에서 강조: 라이브 업데이트 알림은 기존보다 더 눈에 띄게 표시됩니다[5].
- 여정의 단계별 표시: 출발, 도착, 배송 중 등 단계별 상태를 알림에서 직관적으로 보여줄 수 있습니다.
대표 사용 사례
- 택시/라이드쉐어 앱: 차량 배차, 도착, 이동 중, 도착 완료 단계 표시
- 배달 앱: 주문 접수, 조리 중, 배달 중, 완료 등 실시간 진행 상황 안내
- 내비게이션: 경로 안내, 남은 거리, 도착 예상 시간 등 표시
새로운 API: Notification.ProgressStyle
Android 16에서는 Notification.ProgressStyle
클래스를 통해 라이브 업데이트 알림을 생성할 수 있습니다. 이 API는 여정의 상태와 주요 마일스톤을 points와 segments로 표현합니다[4].
예제 코드
아래는 Android 16에서 라이브 업데이트 알림을 구현하는 기본 예제입니다.
import android.app.Notification
import android.app.NotificationManager
import android.content.Context
// 1. ProgressStyle 객체 생성
val progressStyle = Notification.ProgressStyle().apply {
// 여정의 주요 단계(Points) 추가
addPoint("출발", /*timestamp=*/System.currentTimeMillis())
addPoint("도착", /*timestamp=*/System.currentTimeMillis() + 1000 * 60 * 30)
// 현재 진행 상태(예: 50% 진행)
setProgress(0.5f)
}
// 2. Notification 생성
val notification = Notification.Builder(context, "your_channel_id")
.setContentTitle("택시가 이동 중입니다")
.setContentText("도착까지 약 15분 남음")
.setSmallIcon(R.drawable.ic_taxi)
.setStyle(progressStyle)
.build()
// 3. 알림 표시
val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager.notify(1001, notification)
- addPoint: 여정의 주요 단계(예: 출발, 도착 등) 추가
- setProgress: 진행률(0.0~1.0) 설정
- setStyle: ProgressStyle을 알림에 적용
개발 시 참고사항
- Notification Channel: Android 8.0 이상에서는 알림 채널을 반드시 사용해야 합니다.
- 사용자 경험: 라이브 업데이트 알림은 사용자에게 실시간으로 중요한 정보를 제공하므로, 불필요한 반복 알림이나 광고성 사용을 피해야 합니다[5].
- 호환성: Android 16 이상에서만 지원되므로, 하위 버전에서는 기존 알림 방식과 병행 지원이 필요할 수 있습니다.
결론
Android 16의 라이브 업데이트는 사용자와 개발자 모두에게 큰 변화를 가져올 기능입니다. 이제 복잡한 커스텀 구현 없이도, 표준화된 방식으로 여정의 진행 상황을 실시간으로 알릴 수 있습니다. 택시, 배달, 내비게이션 등 다양한 서비스에서 라이브 업데이트를 적극 활용해 보세요.
"Android 16 not only adds that but also makes said notifications appear prominently on the lock screen, status bar, and AOD... With the new progress-centric notifications in Android 16, any app can create notifications like Uber."
— Reddit/r/Android[5]
더 자세한 내용과 공식 샘플 코드는 Android Developers 공식 문서와 Google I/O 2025 세션에서 확인할 수 있습니다[2][3][4].
출처
[1] live-updates-in-android-16-exploring-the-next-evolution-of-notifications-1a5cf5de2068 https://proandroiddev.com/live-updates-in-android-16-exploring-the-next-evolution-of-notifications-1a5cf5de2068
[2] Android notifications and Live Updates - YouTube https://www.youtube.com/watch?v=ihR8hL_Hmec
[3] Android notifications and Live Updates - Google I/O 2025 https://io.google/2025/explore/technical-session-53
[4] Progress-centric notifications - Android Developers https://developer.android.com/about/versions/16/features/progress-centric-notifications
[5] Here's how Google's changing notifications in Android 16 with Live ... https://www.reddit.com/r/Android/comments/1iccorc/heres_how_googles_changing_notifications_in/
[6] Android Auto and ViewModel: Reuse your code in your car! - droidcon https://www.droidcon.com/2024/08/23/android-auto-and-viewmodel-reuse-your-code-in-your-car/
[7] ProAndroidDev https://proandroiddev.com
[8] Designing for multiple screen densities on Android - Prototypr https://blog.prototypr.io/designing-for-multiple-screen-densities-on-android-5fba8afe7ead
'안드로이드 개발' 카테고리의 다른 글
Android Compose에서 퍼미션 요청하기 (0) | 2025.06.05 |
---|---|
Edge-to-Edge Android SDK 35 마이그레이션 가이드 (0) | 2025.06.04 |
Android 개발에서 Edge-to-Edge란? (0) | 2025.06.04 |