brunch

You can make anything
by writing

C.S.Lewis

by 서아온 Apr 17. 2023

개발자 일기 4월 11일

#FCM #GA #앱수정 없이 FCM데이터 GA연동

원하는 바

우리쪽 서버에서 API로 FCM를 날리고 있는데, 이것을 GA에서는 기본으로 잡고있다. 하지만, 단순히 FCM을 받았는지, 열었는지 등의 여부만 체크하고 있다. FCM을 보내는 경우가 다양한 만큼 해당 상황/타입에 따라 사용자들의 데이터를 집계하고 싶다.


현 상황 분석

GA에서 기본적으로 잡히는 FCM의 이벤트는 총 4개다.

notification_dismiss : 사용자가 FCM(Firebase 클라우드 메시징)에서 보낸 알림을 닫을 때 (단 aos만 집계)

notification_foreground: 앱이 켜져있을 때 알림 온 경우, (현재 ios만 잡는 것으로 추정됩니다.)

notification_receive: 백그라운드에서 알림이 온 경우, (단 aos만 집계)

notification_open: 사용자가 push를 눌렀을 때 잡힙니다. 


아무것도 설정하지 않았을 때, notificaiton_open기준 fcm_event_origin 하단의 이미지 처럼 잡힌다.


방안 

1. 타입별로 체크하고 싶기 때문에 매개변수 값만 변경하면 될 것이라고 판단하여 변경하는 것을 시도했다.

--> 실패 firebase_event_origin은 기본 매개변수이기 때문에 변경 하지 못함

2. 앱쪽에서 내가 내려주는 데이터를 받고, 그 데이터에 따라 GA로 이벤트 보내는 법 

--> 해당의 방법이 가장 깔끔하지만 앱쪽 변경이 필요하여 보류

3. 데이터 업체 측에 문의 결과, label을 이용하면 된다고 답변 받음

--> 추가적으로 더 확인해본 결과, fcmOptions의 label을 사용하면 자동으로 집계가 된다고 함. 확인 결과 데이터가 원하는 대로 나옴


결론

notification을 보낼 때 아래와 같은 형태로 fcmOptions 및 analyticsLabel를 추가해서 보내줬다. 자세히는 들어가지 않겠지만, 임시방편으로는 살만 할 것 같다.

{

      "data":{

      },

      "notification":{

         "title":"",

         "body":"",

         "imageUrl":""

      },

      "name":"NEW_LIKE_POST",

      "fcmOptions":{

         "analyticsLabel":"NEW_LIKE_POST"

      }

   }

보완점

- 현재 notification_foreground 이벤트에 대한 처리가 aos에서 없다. 이것에 대한 추가처리와 각각의 다른 이벤트에 대해 ios/aos를 서로 맞춰야할 것 같다. 다만, 이 부분은 앱쪽에서 작업이 필요할 것 같다. 

- 현재로서는 기존에 설정되어있는 이벤트->label->코드 형태로 보여주고 있다. 사전에 미리 해당 코드에 대한 설명이 들어가면 소통은 편하지만... label이라는 이벤트는 바꿀 수 없기 때문에 더 원할 경우 커스터마이징을 해야겠다(당연하겠지만 앱 수정이 필수다)


작가의 이전글 열정에 기름붓기 다이어리 후기&주저리
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari