Firebase Summit에서 발표된 모든 내용을 살펴보고 Firebase로 앱을 빠르게 개발하고 안심하고 앱을 실행하는 방법을 알아보세요. 자세히 알아보기

Flutter의 주제 메시징

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

게시/구독 모델을 기반으로 하는 FCM 주제 메시징을 사용하면 특정 주제를 선택한 여러 장치에 메시지를 보낼 수 있습니다. 필요에 따라 주제 메시지를 작성하면 FCM이 올바른 장치로 안정적으로 메시지 라우팅 및 전달을 처리합니다.

예를 들어 지역 조수 예측 앱 사용자는 "조류 경보" 주제를 선택하고 특정 지역에서 최적의 바닷물 낚시 조건에 대한 알림을 받을 수 있습니다. 스포츠 앱 사용자는 좋아하는 팀의 라이브 게임 점수 자동 업데이트를 구독할 수 있습니다.

주제에 대해 염두에 두어야 할 몇 가지 사항:

  • 주제 메시징은 날씨 또는 기타 공개적으로 사용 가능한 정보와 같은 콘텐츠에 가장 적합합니다.

  • 주제 메시지는 대기 시간보다는 처리량에 최적화되어 있습니다. 단일 기기 또는 소규모 기기 그룹에 빠르고 안전하게 전달하려면 메시지를 주제가 아닌 등록 토큰으로 타겟팅하세요 .

  • 사용자당 여러 기기에 메시지를 보내야 하는 경우 해당 사용 사례에 대해 기기 그룹 메시징 을 고려하세요.

  • 토픽 메시징은 각 토픽에 대한 무제한 구독을 지원합니다. 그러나 FCM은 다음 영역에서 제한을 적용합니다.

    • 하나의 앱 인스턴스는 2000개 이하의 주제를 구독할 수 있습니다.
    • 배치 가져오기 를 사용하여 앱 인스턴스를 구독하는 경우 각 요청은 1000개의 앱 인스턴스로 제한됩니다.
    • 새 구독 빈도는 프로젝트별로 속도가 제한됩니다. 단기간에 너무 많은 구독 요청을 보내면 FCM 서버가 429 RESOURCE_EXHAUSTED ("할당량 초과") 응답으로 응답합니다. 지수 백오프로 재시도합니다.

주제에 대한 클라이언트 앱 구독

클라이언트 앱은 기존 주제를 구독하거나 새 주제를 생성할 수 있습니다. 클라이언트 앱이 새 주제 이름(Firebase 프로젝트에 아직 존재하지 않는 이름)을 구독하면 해당 이름의 새 주제가 FCM에 생성되고 이후에 모든 클라이언트가 이를 구독할 수 있습니다.

주제를 구독하려면 주제 이름과 함께 subscribeToTopic() 을 호출하십시오. 이 메서드는 구독이 성공했을 때 해결되는 Future 를 반환합니다.

await FirebaseMessaging.instance.subscribeToTopic("topic");

구독을 취소하려면 주제 이름과 함께 unsubscribeFromTopic() 을 호출하십시오.

다음 단계