개발자

firebase_admin 으로 단체 메시지 전송할 수 있을까요?

2023년 02월 08일조회 174

django rest api를 통해 백앤드 앱 개발중에 있는데, 회원 전체에게 푸시 알림을 쏘는 기능을 만들고 싶습니다. firebase_admin 의 message기능으로 db테이블에서 회원 객체 하나 들고와 개인적으로는 푸시 알림 쏠 수 있는데 모든 객체를 들고와서 한명 한명에게 메시지 보내는건 엄두가 안나서 혹시 여러명에게 서버가 느려지지않도록 메시지를 보낼 수 있는 방법이 있나 여쭤봅니다!! 파이어베이스에 없다면 혹여 다른 방법이 있을까요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 1

인기 답변

손정현님의 프로필 사진

안녕하세요! 보통 사용자를 바라보는 서버가 이렇게 빡센(?)일을 하기 힘들때는 실시간성을 어느정도 포기하고 비동기로 다른 녀석에 위임합니다. 같은 PC 내에 다른 프로세스가 될수도 있고, 물리적으로 다른 서버일수도 있구요. firebase에 cloud functions라는 기능이 있는데 활용해보시면 좋을 것 같아요. 요청을 보내면 컴퓨터에 작은 서버 하나 띄웠다가 미리 작성한 로직만 돌리고 서버를 종료시키는 그런 서비스입니다. - https://firebase.google.com/docs/functions/use-cases 일반적인 예시는 아래와 같이 될 것 같아요. - cloud functions에 전체 푸시 날리는 로직을 구현함 - 전체 푸시를 보내는 앱/어드민/서버에서 전체 푸시를 보내야할 때 cloud functions에서 제공하는 통신 방식으로 함수 호출 (통신 방식은 동기/비동기 아무거나 될 수 있을 것 같습니다) cloud functions 말고 동일 컴퓨터에서 프로세스만 다르게 띄워서 구동하시고 싶으시면 그것도 가능합니다. celery와 redis를 구현해서 비동기 작업을 위한 프로세스를 구동하는 방법이 있네요. - https://velog.io/@zerowater/Django%EB%A1%9C-%EB%B9%84%EB%8F%99%EA%B8%B0-%EC%9E%91%EC%97%85%EC%9D%B4-%ED%95%84%EC%9A%94%ED%95%A0-%EB%95%90-Celeryredis - https://realpython.com/asynchronous-tasks-with-django-and-celery/

손정현님의 프로필 사진

손정현

coya2023년 02월 09일

근데 아마 등록된 앱을 사용하는 유저에게 전체 푸시 발송이라면 firebase 내에 구현되어 있을 확률이 높아서 굳이 직접 구현하지 않아도 공식 문서 잘 찾아보시면 있을 것 같습니다.

진명인님의 프로필 사진

진명인

작성자

.2023년 02월 09일

친절하고 자세한 답변 감사합니다!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!