-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: fcm 서버 비동기 처리 구현 #499
The head ref may contain hidden characters: "refactor/498-FCM_\uC11C\uBC84_\uBE44\uB3D9\uAE30\uCC98\uB9AC_\uAD6C\uD604"
Conversation
…to refactor/498-FCM_서버_비동기처리_구현
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
점점 발전해가는 알림기능!!
멋있어요 👍 고생하셨습니다
private String keyScope; | ||
|
||
private final RestTemplate restTemplate; | ||
private static final String FCM_JSON_PATH = "config/pium-fcm.json"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A
Value가 아니라 상수로 선언해서 약간 의아했는데 @PostConstruct
때문에 이렇게 한걸까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ㅋㅋㅋ PR 올리고 할까 말까 고민중이었는데 제 마음을 잘 캐치해주셨네요
반영완류
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
기가막히군요
※ 해당 PR 및 커밋은 이건회(@rawfishthelgh )와 함께 몹 프로그래밍으로 작성했습니다
🔥 연관 이슈
🚀 작업 내용
FCM 서버에서 알림 처리를 하는 로직을 비동기로 처리할 수 있도록 변경했습니다.
기존에 사용하던
Restemplate
을 제거하고FirebaseOptions
객체를 이용해 서버 정보를 추가한 후FirebaseMessaging
객체의sendAsync
메서드를 통해 알림을 전송하게끔 구현했습니다.비동기 코드임에도 get을 호출해 response를 반환받은 이유는 비동기 처리 로직에서 future 타입의 결과를 받아 알림 요청의 성공 유무를 판단하기 위함입니다. 완전 비동기 호출보다 성능은 아~주 약간 떨어지지만 확실히 알림 전송 결과를 받아보는 것이 중요하기 때문에 위와 같이 결정했습니다.
곧 알림 실패 시 재전송하는 기능을 추가할 예정입니다 🥳
💬 리뷰 중점사항
이번에도 잘 부탁드립니다.