[10분 테코톡] 타마의 안드로이드 Notification
- 알림은 사용자 이탈의 원인이 될 수 있지만, 잘 활용하면 사용자 참여율을 88% 이상 높이는 강력한 소통 수단입니다. 🚀
- 안드로이드 알림은 상태 표시줄, 알림창, 헤드업, 잠금 화면 등 다양한 위치에 표시됩니다. 📱
- 알림은 앱 사용 중 표시되는 인앱 알림과 앱이 백그라운드일 때도 작동하는 푸시 알림(주로 FCM 활용)으로 나뉩니다. 💬
- 알림 생성은 안드로이드 8.0 이상에서 필수인 알림 채널 설정,
NotificationCompat.Builder로 알림 객체 생성, NotificationManager로 시스템에 전송하는 3단계로 이루어집니다. 🛠️
- 알림 채널은 알림의 중요도, 소리, 진동, 잠금 화면 표시 여부 등을 설정하여 사용자에게 알림 목적을 명확히 전달하고 관리 효율을 높입니다. 🚦
- 관련 알림들을 논리적으로 묶어 표시하는 그룹화 기능은
setGroup() 메서드를 통해 개발자가 직접 지정할 수 있습니다. 🧩
- 기본 알림 외에
BigTextStyle, BigImageStyle, InboxStyle 등 내장 스타일을 활용하여 알림 내용을 풍부하게 표현할 수 있습니다. 🎨
RemoteViews와 DecoratedCustomViewStyle을 사용하여 개발자가 원하는 모양의 커스텀 알림을 만들 수 있으며, 시스템 기본 장식을 자동으로 처리해주는 이점이 있습니다. 🖼️
- 알림과의 상호작용을 위해
PendingIntent를 사용하며, getActivity(), getService(), getBroadcast() 팩토리 메서드로 특정 작업을 정의합니다. 👆
setContentIntent()로 알림 본문 탭 시 동작을, addAction()으로 알림 하단 버튼 탭 시 보조 동작을 지정하여 사용자 상호작용을 구현합니다. 🔗
- 2025년 안드로이드 16에서는 진행 상황을 시각적으로 보여주는 프로그레스 바가 추가된 새로운 알림 스타일이 도입될 예정입니다. ⏳