본문 바로가기
2023년 부터/iOS&Swift

[iOS&Swift]Firebase에서 FCM 토픽 메시징으로 사용자 관심사별 알림 전송하기

by JeongUPark 2024. 3. 26.
반응형

 

 

모바일 앱 개발에서 사용자에게 적절한 시기에 알림을 전송하는 것은 사용자 참여도를 높이는 중요한 전략 중 하나입니다. Firebase Cloud Messaging(FCM)은 이를 위한 강력한 도구를 제공하며, 특히 토픽 메시징 기능을 통해 개발자는 사용자의 관심사에 따라 맞춤화된 알림을 쉽게 전송할 수 있습니다. 이 글에서는 Firebase에서 FCM의 토픽 메시징 기능을 사용하여 사용자 관심사별로 알림을 전송하는 방법을 단계별로 안내합니다.

Firebase와 FCM 소개

Firebase는 앱 개발을 위한 백엔드 서비스의 집합을 제공하는 구글의 플랫폼입니다. Firebase Cloud Messaging(FCM)은 이 플랫폼에서 제공하는 무료 메시징 서비스로, 앱 개발자가 서버나 다른 클라이언트 앱에 메시지를 안정적으로 전송할 수 있게 해 줍니다.

토픽 기반 메시징의 이점

토픽 메시징을 사용하면 개발자는 사용자를 특정 주제별로 구분하여, 해당 토픽에 관심이 있는 사용자 그룹에게만 메시지를 전송할 수 있습니다. 예를 들어, '스포츠 뉴스'에 관심이 있는 사용자만을 대상으로 최신 스포츠 소식을 전송할 수 있습니다. 이 접근 방식은 메시지의 관련성을 높이고, 사용자 경험을 개선하는 데 큰 도움이 됩니다.

토픽 구독 설정하기

사용자가 앱 내에서 특정 토픽을 구독하게 하려면 다음과 같은 코드를 사용할 수 있습니다.

import FirebaseMessaging

// 사용자가 '스포츠 뉴스' 토픽을 구독하도록 설정
Messaging.messaging().subscribe(toTopic: "sports_news") { error in
  if let error = error {
    print("Error subscribing to sports news topic: \(error)")
  } else {
    print("Subscribed to sports news topic")
  }
}

이 코드 스니펫은 iOS 앱에서 사용자가 '스포츠 뉴스' 토픽을 구독하도록 하는 방법을 보여줍니다. Android 앱에서도 유사한 방법을 사용할 수 있습니다.

 

토픽을 이용한 알림 전송

서버 측에서는 다음과 같이 특정 토픽을 구독하는 사용자들에게 알림을 전송할 수 있습니다.

const registrationToken = 'YOUR_REGISTRATION_TOKEN';

const message = {
  data: {
    score: '850',
    time: '2:45'
  },
  token: registrationToken
};

// Send a message to the device corresponding to the provided
// registration token.
getMessaging().send(message)
  .then((response) => {
    // Response is a message ID string.
    console.log('Successfully sent message:', response);
  })
  .catch((error) => {
    console.log('Error sending message:', error);
  });

 

 

더 다양한 사용법은 아래 Firebase 문서에서 확인할 수 있습니다.

 

 

Firebase 클라우드 메시징

Firebase 클라우드 메시징(FCM)은 무료로 메시지를 안정적으로 전송할 수 있는 크로스 플랫폼 메시징 솔루션입니다.

firebase.google.com

 

반응형