목록 보기
리다이렉트 서버와 FCM 푸시 연동
백엔드

리다이렉트 서버와 FCM 푸시 연동

ZUM
ZUM
2023년 7월 11일

두줄요약

푸시 클릭·노출 통계를 위해 리다이렉트 서버와 FCM 푸시를 연동하고 로그 적재 구조를 설계했습니다. 웹 푸시 노출은 아이콘 이미지 응답을 활용해 수집하는 방식으로 보완했습니다.

문제 상황

  • 푸시 전송 후 클릭·노출 반응을 확인하기 어려워 리텐션 분석에 필요한 통계 수집이 불가한 상태
  • 리다이렉트 서버에 클릭 API만 존재해 노출 통계와 확장 요구를 함께 처리할 구조 필요
  • 웹 푸시의 노출 로그는 앱과 달리 수집이 어려워 별도 방식 검토 필요

해결 방법

  • 리다이렉트 URL 생성 과정에 클릭·노출 구분값을 추가하고 logger 및 logback 설정으로 경로 분리
  • 푸시 메세지에 osType 파라미터를 포함해 성공 로그 포맷에 반영
  • 웹 푸시 노출은 아이콘 이미지 응답을 활용해 호출 시점에 로그를 적재하는 방식 적용

구조와 흐름

  • 푸시 서버가 리다이렉트 URL을 생성해 전송하고, 클릭 시 리다이렉트 서버에서 원본 URL로 되돌리며 로그 적재
  • internal 서버가 DynamoDB의 푸시 메타데이터를 조회해 iconUrl을 제공하고 external 서버가 이를 받아 노출 통계에 활용
  • fluentd로 성공 로그를 수집한 뒤 DynamoDB에 pushMessageId 기준 클릭·노출 집계 업데이트

적용해볼 점

  • 비슷한 API가 추가될 때를 대비한 확장성 고려
  • 로그 포맷을 yml로 분리해 파라미터 추가 변경을 단순화
  • 프로젝트별 메타데이터와 통계 집계 구조를 분리해 운영 유연성 확보

다음 읽기

#logging 주제를 이어서 읽기

Redirect 서버 리팩토링 - 파일럿 프로젝트

레거시 Redirect 서버를 Spring Boot 기반으로 리팩토링해 클릭 요청, 캐시, 로그 구조를 개선했습니다. 푸시 연동과 Short URL 처리까지 통합해 확장 가능한 형태로 설계했습니다.

ZUM
ZUM
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...