EP24. Notification 추가 보충 자료
1. Push Notification이란?
Push Notification이란 앱이 실행 중이지 않더라도 사용자에게 실시간으로 정보를 전달할 수 있는 메시지 시스템입니다. 이는 앱 서버에서 발송한 메시지가 사용자의 기기로 푸시되어 알림 형태로 표시됩니다. 이를 통해 사용자 참여를 유도하고 중요한 정보를 신속하게 전달할 수 있습니다.
2. Push Notification을 통해 얻을 수 있는 것
1. 사용자 리텐션 향상
푸시 알림은 사용자가 앱을 다시 방문하도록 유도하는 데 효과적입니다. 주기적인 알림을 통해 사용자가 앱을 잊지 않도록 하고, 중요한 업데이트나 새로운 기능을 알릴 수 있습니다.
예시: 앱에서 새로운 콘텐츠가 추가되었을 때, 푸시 알림을 통해 사용자에게 이를 알려 앱 방문을 유도할 수 있습니다.
2. 사용자 참여 증대
사용자의 참여를 유도하는 푸시 알림을 통해 앱 내 활동을 증가시킬 수 있습니다. 이를 통해 사용자는 앱 내에서 더 많은 시간을 보내게 됩니다.
예시: 할인 쿠폰이나 특별 이벤트를 알리는 푸시 알림을 보내어 사용자가 앱을 자주 방문하고, 더 많은 상호작용을 하도록 유도할 수 있습니다.
3. 즉각적인 커뮤니케이션
푸시 알림은 중요한 정보를 즉각적으로 사용자에게 전달할 수 있는 방법입니다. 이를 통해 중요한 공지사항, 시스템 업데이트, 보안 알림 등을 실시간으로 전달할 수 있습니다.
예시: 서버 점검이나 중요한 시스템 업데이트에 대한 공지를 푸시 알림을 통해 사용자에게 즉각적으로 알릴 수 있습니다.
4. 맞춤형 사용자 경험 제공
개인화된 푸시 알림을 통해 사용자에게 맞춤형 경험을 제공할 수 있습니다. 사용자의 행동 데이터를 기반으로 관심사에 맞춘 알림을 보내면 사용자 만족도가 높아집니다.
예시: 사용자가 자주 사용하는 기능이나 관심 있는 주제에 대한 업데이트를 개인화된 푸시 알림으로 전달할 수 있습니다.
5. 전환율 증가
푸시 알림은 마케팅 캠페인의 전환율을 높이는 데 도움이 됩니다. 사용자에게 프로모션, 세일, 신규 제품 출시 등을 알리면 구매를 유도할 수 있습니다.
예시: 특정 제품의 할인 소식을 푸시 알림으로 전달하여, 사용자들이 해당 제품을 구매하도록 유도할 수 있습니다.
6.
사용자 피드백 수집
사용자에게 푸시 알림을 통해 피드백을 요청함으로써, 서비스 개선에 필요한 정보를 수집할 수 있습니다.
예시: 새로운 기능 출시 후 사용자에게 푸시 알림을 보내어 피드백을 요청하고, 이를 통해 기능을 개선할 수 있습니다.
7. 재참여 유도
앱을 한동안 사용하지 않은 사용자에게 푸시 알림을 보내어 다시 앱을 사용할 수 있도록 유도할 수 있습니다.
예시: 일정 기간 동안 앱을 사용하지 않은 사용자에게 푸시 알림을 보내어 재참여를 유도할 수 있습니다.
3. iOS - APN(Apple Push Notification)
Apple이 제공하는 푸시 알림 서비스로, iOS, iPadOS, watchOS, macOS, tvOS 기기에 푸시 알림을 전송할 수 있습니다. 이를 통해 앱이 실행 중이지 않더라도 서버에서 사용자에게 실시간으로 중요한 정보를 전달할 수 있습니다. APN은 앱 서버와 Apple 서버 간의 통신을 통해 알림을 전달하며, 사용자는 이를 통해 앱 업데이트, 메시지, 경고 등을 받을 수 있습니다.
4. Android - GCM(Google Cloud Messaging)
GCM은 Google이 제공하는 푸시 알림 서비스로, 앱이 실행 중이지 않더라도 Android 기기와 기타 플랫폼에 메시지를 전송할 수 있습니다.
5. FCM(Firebase Cloud Messaging)을 사용한 Push Notification
APN, GCM으로 iOS, Android에 각각 Push Notification을 발송할 수 있습니다만, 서비스 개발 편의를 위해 FCM을 주로 사용합니다.
FCM을 사용하지 않더라도 NHN Cloud Messaging, EXPO 등 통합 Push Notification을 지원하는 플랫폼이 있습니다.
6. Push Notification 응용
Push 메시지 페이로드에 담기는 정보에는 title, body 외에도 부가적인 정보를 추가할 수 있습니다.
부가적인 정보는 푸시 알림에서는 보이지 않지만 푸시 알림을 클릭했을때 앱에서 해당 정보를 갖고 딥링크 처리, Analytics 이벤트 처리 등 다양한 용도로 사용할 수 있습니다.
7. 개발시 주의사항
1. 방해 금지 시간 (Do Not Disturb)
• 사용자 설정 반영: 사용자가 지정한 방해 금지 시간 동안에는 알림을 보내지 않도록 해야 합니다.
• 시간대 고려: 사용자의 시간대를 고려하여 알림을 보내는 시간을 조정해야 합니다.
• 알림 유형에 따른 조정: 긴급 알림이 아닌 일반 알림은 방해 금지 시간 동안에는 보내지 않도록 설정합니다.
2. 토큰 관리
• 토큰 갱신 처리: FCM이나 APN의 토큰은 주기적으로 갱신됩니다. 토큰 갱신 시 새로운 토큰을 서버에 업데이트해야 합니다.
• 유효성 검사: 주기적으로 토큰의 유효성을 확인하고, 유효하지 않은 토큰은 제거합니다.
• 보안: 푸시 토큰은 민감한 정보이므로 안전하게 저장하고 전송해야 합니다.
3. 사용자 동의 및 설정
• 동의 요청: 알림을 보내기 전에 사용자의 동의를 받아야 합니다.
• 설정 옵션 제공: 사용자가 알림을 제어할 수 있도록 설정 옵션을 제공해야 합니다. 예를 들어, 특정 유형의 알림을 끌 수 있도록 합니다.
4. 알림 내용
• 명확하고 유용한 정보 제공: 알림 내용은 명확하고 사용자가 가치 있다고 느낄 수 있는 정보를 제공해야 합니다.
• 짧고 간결하게: 알림은 짧고 간결하게 작성하여, 사용자에게 빠르게 이해될 수 있도록 합니다.
• 맞춤형 알림: 사용자의 관심사와 행동에 맞춘 맞춤형 알림을 보내어 참여도를 높입니다.
5. 빈도와 타이밍
• 과도한 알림 자제: 너무 자주 알림을 보내면 사용자가 알림을 꺼버리거나 앱을 삭제할 수 있습니다.
• 적절한 타이밍: 사용자 행동 패턴을 분석하여, 알림을 보낼 적절한 타이밍을 선택합니다.
6. 플랫폼별 차이점
• iOS와 Android 차이 이해: iOS와 Android의 알림 처리 방식에는 차이가 있으므로, 각 플랫폼의 특성을 이해하고 구현해야 합니다.
• iOS의 경우: iOS에서는 알림을 받을 때 사용자 동의를 명시적으로 받아야 하며, 백그라운드 데이터 메시지를 처리하는 데 제한이 있습니다.
• Android의 경우: Android에서는 알림 채널을 사용하여 알림의 중요도를 설정하고 관리할 수 있습니다.
7. 백엔드 관리
• 알림 서버 인프라: 알림을 효율적으로 관리하고 전송할 수 있는 서버 인프라를 구축해야 합니다.
• 스케줄링: 서버에서 알림을 스케줄링하여 특정 시간에 전송할 수 있도록 합니다.
• 로그 및 모니터링: 전송된 알림의 상태를 모니터링하고, 실패한 알림을 재전송하거나 문제를 해결할 수 있는 시스템을 마련합니다.