← 전체 글로 돌아가기

웹 개발

푸시 알림 기능을 배포 전에 검증하기

푸시 알림은 클라이언트와 서버가 함께 작동해야 하는 기능이다. 배포 전에 각 단계별로 확인해야 할 체크리스트를 정리했다.

푸시 알림 기능은 구현은 간단해 보이지만, 실제로 동작하는지 확인하려면 클라이언트, 서버, 알림 서비스 세 곳을 모두 검증해야 한다.

정상 상태를 먼저 정의한다

푸시 알림이 정상이라는 건 무엇인가? "알림이 온다"는 표현은 너무 모호하다. 구체적으로는:

  • 사용자가 앱을 실행했을 때 권한 요청이 뜨고
  • 사용자가 승인하면 토큰이 저장되고
  • 서버에서 전송한 알림이 기기에 도착해서
  • 사용자에게 노티피케이션으로 표시된다

이 각 단계가 모두 작동하는지 확인해야 한다.

클라이언트 권한과 토큰을 확인한다

먼저 사용자가 푸시 알림 권한을 승인했는지 확인한다. 브라우저의 설정이나 기기의 알림 설정을 다시 확인하고, 앱이 제대로 된 토큰을 얻었는지 로그로 남긴다.

서버의 구현을 확인한다

서버가 올바른 토큰으로 알림을 보내고 있는지 확인한다.

npm run build

서버 로그에서 알림 전송 시도가 나타나는지, 실패했다면 어떤 에러인지 확인한다.

알림 서비스의 응답을 분석한다

FCM(Firebase Cloud Messaging), APNs(Apple Push Notification) 같은 서드파티 서비스를 사용한다면, 이 서비스의 API 응답을 확인해야 한다. 토큰이 유효하지 않다거나, 인증이 실패했다면 명확한 에러 메시지가 나타난다.

환경별로 다르게 동작하는지 확인한다

로컬 개발 환경에서는 테스트용 토큰을 사용하지만, 배포 환경에서는 실제 토큰을 다뤄야 한다. 환경마다 설정이 다를 수 있으므로 주의한다.

사용자 모바일에서 직접 테스트한다

개발 도구로는 모든 걸 확인할 수 없다. 실제 기기에서 알림을 받아보는 게 필수다. 특히 배터리 절약 모드나 데이터 세이버 같은 기능이 활성화된 상태에서도 알림이 오는지 확인한다.

대량의 알림을 보낸 후 성능을 본다

한두 개의 알림은 문제없지만, 동시에 수백 개를 보내면 어떻게 되는지 테스트해야 한다. 서버의 처리 능력과 알림 서비스의 rate limit을 고려해야 한다.

푸시 알림은 사용자 engagement와 직결되므로, 배포 전에 충분히 테스트하는 게 중요하다.