화면
배경
누군가가 나를 팔로우 했을 때, 게시글에 답변이 달렸을 때 등의 이벤트가 발생하였을 때 실시간 알림으로 알 수 있도록 하자!
구현한 기능
FCM(Firebase Cloud Messaging) 활용
•
BE
FCM은 FireBase Cloud Messaging의 약자로, 무료로 메시지를 안정적으로 전송할 수 있는 교차 플랫폼 메시징 솔루션입니다. 이를 이용하여 사용자에게 실시간 푸시 알림 기능을 간편하게 구현할 수 있었습니다.
FCM 서버와 통신을 위한 방식 중 Firebase AdminSDK를 채택하여 사용했습니다.
알림 기능을 각 비즈니스 로직의 하단에 붙였더니 서비스의 로직이 끝나도 FCM의 응답을 기다려야하는 응답 지연 문제가 발생하여서 ApplicationEventPublisher ,Async를 이용하여 비동기적으로 처리하였습니다.
•
FE
FCM 서버로부터 푸시 알림을 보낼 디바이스들을 식별하기 위한 FCM 토큰을 발급 받습니다.
사용자가 로그인을 시도할 때 사용자에게 알림 권한 허용을 요청한 후,
이전에 발급받은 FCM 토큰을 서버로 전달합니다.