본문으로 건너뛰기

토픽 푸시

🔔 최신화 일자: 2025-06-14

이 문서는 토픽 푸시에 대한 설명과 토픽 푸시 전송에 필요한 프로세스에 대해 안내합니다.


토픽 푸시 전송 이해하기

토픽이란?

토픽이란 같은 관심사나 특정 이벤트에 반응한 디바이스들을 묶은 집합이자 푸시 알림을 전송할 수 있는 대상을 의미합니다.

nachocode의 토픽 푸시 기능은 특정 상황이나 행동을 한 사용자의 디바이스를 즉각적으로 타겟팅하고,
타겟팅된 디바이스들로 푸시 알림을 일괄 전송할 수 있는 강력한 기능입니다.

구독(subscribe)을 통해 디바이스를 토픽에 포함시켜두면 해당 토픽에 대한 푸시 알림을 수신 받을 수 있습니다.
더이상 해당 토픽에 대한 알림이 전송되지 않기를 원하는 디바이스는 구독해제(unsubscribe)를 통해 토픽에서 제외시킬 수 있습니다.

푸시 전송이 필요한 시점에 nachocode 토픽 푸시 전송 API를 호출하여 구독된 모든 디바이스에게 일괄적으로 푸시 알림을 전송할 수 있습니다.




토픽 푸시 활용 방법


번거로운 관리는 나쵸코드가 합니다

토픽 푸시 관리를 위해서는

  • "누가 어떤 토픽을 구독했는가?"
  • "전송했을 당시 누가 구독 중이었는가?"
  • "몇 명이 푸시를 확인을 했는가?"
  • "어떻게 전송했었는가?"

등의 데이터를 관리하여야 의미있는 정보를 얻을 수 있습니다.

원하는 시점에

Nachocode.push.subscribePushTopic('토픽이름');

한 줄만 추가하세요.

누가 구독하고있고, 누구에게 보내졌으며, 얼마나 많은 반응이 있었고, 어떤 내용으로 전달받았는 지까지

모두 nachocode에서 관리하겠습니다.


전송 할 때는 토픽 이름만 알려주세요

푸시 알림 전송 시, "어떤 토픽"을 구독한 디바이스로 "어떤 내용"을 보낼지만 설정하여
nachocode API로 요청하면 푸시 전송이 완료됩니다.

단 한번의 전송 요청으로 수 많은 디바이스로 일괄적인 푸시 전송이 가능합니다.


결과를 통한 전략을 수립하세요

nachocode에서 제공되는 결과 데이터를 통해

  • "어떤 내용의 푸시에 사용자가 많이 반응했는지"
  • "어떤 시간대의 푸시 알림의 효과가 높은지"

등 유용한 정보를 도출해보세요.

이에 맞는 전략을 수립하여 사용자 참여도몰입감을 높여 마케팅 효과를 극대화시킬 수 있습니다


참고

nachocode의 토픽 푸시는 "디바이스 기준"으로 이루어집니다.

SDK를 통한 푸시 토큰과 유저 ID 매칭 등록이 완료된 후 구독/구독해제 API사용이 가능합니다.
(등록되지 않은 유저 ID이더라도 전송 요청 시 차감 수에 포함됩니다.)




토픽 푸시 활용 예시

  • 마케팅 캠페인

    • 상품 조회, 상품 검색 등을 통해 관심을 표시한 유저들에게 일괄적으로 푸시 알림을 전송할 수 있습니다.
    • 특정 이벤트에 대한 참여의사를 표시한 유저들에게 일괄적으로 푸시 알림을 전송할 수 있습니다.

  • 불특정 유저 알림 전송

    • 유저를 식별할 수 없는 상황에서도 이벤트를 통한 구독으로 타겟팅하는 유저들에게 일괄적으로 푸시 알림 전송이 가능합니다.
    • 비로그인 사용자, 비로그인 서비스일지라도 간편한 그루핑(Grouping)을 통한 푸시 알림 전송이 가능합니다.

  • 이벤트 감지를 통한 알림 전송

    • 이벤트 페이지 접속 등 특정 이벤트에 대한 참여의사를 표시한 유저들에게 푸시 알림을 전송할 수 있습니다.
    • 특정 주제의 게시물이 작성됐을 때, 주제를 구독하는 유저들에게 일괄적으로 알림을 전송할 수 있습니다.



토픽 푸시 전송 사용하기

1. 선행 작업

nachocode 대시보드에서 1)API Key, Secret Key 발급2)Firebase 프로젝트 설정파일 등록이 완료되어야 합니다.

  • API Key, Secret Key는 안전하고 원활한 API 통신을 위해 필요한 정보로 nachocode 대시보드 [앱 설정] > [개발자 설정] 탭에서 발급 가능합니다.

  • Firebase 프로젝트 설정 파일 등록에는 아래와 같은 파일이 요구되며, 자세한 과정과 내용은 사용자 가이드 탭에서 확인 가능합니다.

    • Firebase 계정 비공개 키
    • Firebase 프로젝트 안드로이드 앱 생성 시 다운로드 받은 파일(google-service.json)
    • Firebase 프로젝트 iOS 앱 생성 시 다운로드 받은 파일(GoogleService-info.plist)

2. 토픽 구독/ 토픽 구독 해제

유저 식별자와 디바이스 모두를 기준으로 구독/구독해제가 가능합니다.

nachocode 서버에서는 기본적으로 디바이스를 기준으로 토픽 구독 관리토픽 푸시를 전송하지만,
구독과 구독해제의 경우에는 SDK와 API를 통해 디바이스 혹은 유저 원하는 방식으로 처리가 가능합니다.


[ 디바이스 기준: SDK ]
디바이스 기준의 구독은 SDK를 활용하여 Web Client Side에서 구독하고자 하는 시점에 구독처리를 완료할 수 있습니다.

SDK를 활용한 구독은 유저 식별자를 요구하지 않아 유저가 식별되지 않은 상황에서도 토픽 구독이 가능합니다.
특정 이벤트 발생 시점에 디바이스 구독구독해제 메서드 호출을 통해 구독 여부를 즉시 설정할 수 있습니다.

예시

"나쵸코드"를 검색한 식별 불가한 유저에게도 알림이 보내지기를 원할 때 -> 구독 SDK
"이벤트 참여 취소"를 클릭한 디바이스로 이벤트 알림이 보내지지 않도록 할 때 -> 구독해제 SDK



[ 유저 식별자 기준: API ]
유저 식별자 기준의 구독은 Server Side에서 API 호출을 통해 가능합니다.
사전에 푸시 토큰 등록 SDK 메서드를 통해 nachocode 서버에 푸시 토큰이 매칭되어있는 유저 식별자만 처리가 가능합니다.

API를 활용한 구독은 유저를 식별할 수 있고 유저의 모든 디바이스에 대한 토픽 관리가 필요할 경우 유용하게 사용됩니다.

예시

"나쵸코드" 토픽을 팔로우한 계정 소유자의 모든 디바이스로 알림이 보내지도록 할 때 -> 구독 API
"나쵸코드" 토픽을 언팔로우한 계정 소유자의 모든 디바이스로 알림이 보내지지 않도록 할 때 -> 구독해제 API

구독 시, 유저가 소유한 디바이스 전부를 구독시키며, 일부 디바이스에 대한 구독은 불가합니다.

(이 때, 유저 식별자는 푸시 토큰 조회의 목적으로만 사용됩니다.)


3. 토픽 푸시 전송 (API)

토픽 이름만으로 구독된 모든 유저에게 일괄 전송이 가능합니다.

/topic API Endpoint를 사용하여 특정 토픽을 구독 중인 모든 디바이스를 대상으로 푸시 알림을 전송합니다.

API 호출은 Server 대 Server 요청을 통해 이루어지므로, 푸시 전송 시점을 선정하여 개발자가 Server Side 로직에 추가하여야 합니다.
전송하고자 하는 내용과 대시보드에서 발급받은 API Key, Secret Key로 요청 데이터를 구성하여 API Endpoint로 푸시 전송을 요청할 수 있습니다.

푸시 전송 요청이 nachocode server로 전달되면 FCM으로의 요청을 수행하고, 집계된 현재 구독 중인 수를 계산하여 히스토리를 관리합니다.


토픽에 대한 푸시가 전송된 뒤 특정 디바이스에 대한 전송을 원하지 않을 경우, 구독해제 SDK(또는 API)호출이 요구됩니다.
일회성 이벤트 토픽일 경우, 사용 후 구독해제 없이 해당 토픽을 사용하지 않는 방식으로 폐기가 가능합니다.


4. 전송 결과 확인

각 푸시 요청의 히스토리성공 및 실패 여부 이 외에도 전송 수, 클릭 수와 같이 다양한 집계 데이터를 제공합니다.
이를 통해, 각 푸시의 효과를 분석하여 전략 수립에 활용할 수 있습니다.

푸시 요청에 대한 상세 정보는 nachocode 대시보드의 [앱 기능] > [푸시 알림] > [토픽 푸시] 탭에서 확인할 수 있습니다.