📘생성된 FCM 토큰으로 실제 알림을 전송하고, 알림이 정상적으로 도착하는지 테스트
앞서 FCM 초기 설정과 토큰 생성 기능을 구현했다.
이제 해당 토큰을 사용해 Postman으로 메시지를 전송하고, 실제로 WEB 환경에서 알림이 정상적으로 도착하는지 확인해본다.
public class FcmMessageDto {
private String token;
private String title;
private String content;
}
/fcm/send경로로 POST 요청을 보내면 FCM 알림이 전송되도록 한다.@RestController
@RequestMapping("/fcm")
@RequiredArgsConstructor
public class FcmTestController {
private final FcmService fcmService;
@PostMapping("/send")
public void sendTestMessage(@RequestBody FcmMessageDto dto) {
fcmService.sendMessageTo(dto);
}
}
FirebaseMessaging 을 통해 전송하며, 실패 시 예외를 로그로 남긴다.@Service
public class FcmService {
@Override
public void send(FcmMessageDto dto) throws Exception {
Message message = Message.builder()
.setToken(dto.getToken())
.setNotification(Notification.builder()
.setTitle(dto.getTitle()))
.setBody(dto.getContent())
.build())
.build();
try {
String response = FirebaseMessaging.getInstance().send(message);
} catch (FirebaseMessagingException e) {
log.error("FCM 전송 실패");
}
}
POST /fcm/send
Content-Type: application/json
{
"token": "{웹에서 발급받은 FCM 토큰}"
"title": "테스트",
"content": "실시간 알림 테스트입니다"
}

간단한 테스트 컨트롤러와 서비스만으로도 FCM을 통해 웹 푸시 알림을 전송할 수 있다.
이제 실제 서비스에 맞게 토큰 관리, 예외 처리 등을 확장해나가면 된다.