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

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

ZUM
ZUM
2023년 7월 11일

두줄요약

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

문제 상황

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

해결 방법

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

구조와 흐름

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

적용해볼 점

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

댓글 0

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

댓글을 불러오는 중...