푸시알림 권한 받는 시점 - depromeet/Took-BE GitHub Wiki
사용자가 유입되는 경로가 단순히 웹만 존재하지 않습니다. 안드로이드와 애플이 존재하며, 심지어는 멀티 디바이스로 유입될 수 있습니다.
그렇기 때문에 첫 로그인(회원가입) 시점에만 푸시알림 여부를 받을 경우 모든 환경(기기)에 푸시알림 여부가 동일하게 적용됩니다.
따라서 각 환경(기기) 별로 푸시알림 여부를 받아야 합니다.
- TODO
-
기획 확정되면 웹에서 백그라운드 알림을 제공할 건지 물어보기
⇒ 이에 따라 fcmToken으로 푸시알림 여부를 관리하는 것이 아닌 fcmToken + 환경으로 푸시알림 여부를 관리해야할 수도? → 아닌듯 웹과 앱의 토큰 환경이 분리되어 있는듯
-
과정
- 로그인 후 특정 환경(기기)에서 첫 로그인인지 판단
- 첫 로그인인지 아닌지 클라에게 응답
- 클라가 해당 응답을 바탕으로 푸시알림 API 호출하거나 미호출
- (재로그인 시 → ?)
결론
각 환경의 첫 로그인에서 FcmToken을 저장하므로 그때 푸시알림 여부를 받음
프론트 기존 로직에서 추가될 사항
- 로그인 요청: FcmToken 추가
- 로그인 응답: 첫 로그인인지 아닌지
- 로그인 응답에 따라, 첫 로그인이면 사용자에게 푸시알림 여부를 묻고 해당 데이터와 함께 푸시알림 API 호출
백엔드 기존 로직에서 추가될 사항
- 로그인 요청: FcmToken 추가
- 로그인 응답: 첫 로그인인지 아닌지
- 로그인 API: 특정 환경에서 첫 로그인인지 판단 (토큰이 DB에 없는지)
- 푸시알림 여부 받는 API 추가
- 푸시알림 여부 저장 테이블을 User → UserDevice 변경