FireBase Google Analytics Log Setting

YongJunCha·2022년 1월 6일
0

FireBase

목록 보기
1/1
post-thumbnail

Why we use Google Analytics Log ?

  • GoogleAnalytics를 사용하는 이유는 간단하다.
  • 유저를 특정해 수익을 창출하기 위해서이다.
  • 어떤 이벤트를 특정 연령대가 클릭을 많이 한다는 것만 알아도 우리는 쉽게 마케팅을 할 수 있다.
  • 이번에는 Google Analytics를 커스터마이징 하게 되었다.

FireBase Docs: Event Logging
상기의 문서를 참고해서 만들었다.

Analytics.logEvent(AnalyticsEventSelectContent, parameters: [
  AnalyticsParameterItemID: "id-\(title!)",
  AnalyticsParameterItemName: title!,
  AnalyticsParameterContentType: "cont",
])

상기의 AnalyticsEventSelectContent kFIRSelectContent 추천 이벤트를 로깅하는 방법을 보여준다.

Analytics.logEvent("share_image", parameters: [
  "name": name as NSObject,
  "full_text": text as NSObject,
])

상기의 코드는 이벤트 이름을 커스터마이징 한 것을 보여준다.
아무래도 권장해준 AnalyticsEventSelectContent로 이벤트를 보내게 되면 이벤트를 모두 Parameter로 분류할 수 있을 것 같았지만, 기획 마케팅 팀에서는 데이터 확인이 안 된다고 했다.

그래서 확인해본 결과 parameter로 보낸 데이터는 실시간 개요에서 확인이 가능했으며
5 - 30분 사이에 모두 휘발되는 데이터였다

그래서 우리는 이벤트 이름 자체를 커스터마이징 해줄 필요가 있었고

/// setAnalyticsButton : 데이터 연결하기 버튼 이벤트를 눌렀을 때 Google Analytics에 log를 보내는 function
/// - Parameters:
///   - eventName: 이벤트 이름 ( ex 은행 국민은행 ios) 이 String 형태로 옴.
///   - name: 페이지 이름을 보냄 ( Analytics에서 30분이 지나면 없어지는 데이터)
///   - content: 이벤트 이름과 같은 형태 (ex 은행 국민은행 ios)이 String 형태로 옴 ( Analytics에서 30분이 지나면 없어지는 데이터)
func setAnalyticsButton(eventName: String, name: String, content: String) {
#if DEBUG
    // FOR TEST
    //    print("-------------------------------------------------------------------------")
    //    // 이벤트 이름
    //    var event = eventName + "_ios"
    //    print("GOOGLE ANALYTICS BUTTON EVENT NAME :: \(event)")
    //
    //    // Google Analytics 실시간 개용에서 보여질 데이터
    //    let sendData = "\(name) [\(content)])"
    //    print("setAnalyticsButton ::: \(sendData)")
    //
    //    // 이벤트 송신
    //    Analytics.logEvent(event, parameters: [
    //        AnalyticsParameterItemName: sendData
    //    ])
    //    print("-------------------------------------------------------------------------")
    
#else
    
    print("-------------------------------------------------------------------------")
    // 이벤트 이름
    var event = eventName + "_ios"
    print("GOOGLE ANALYTICS BUTTON EVENT NAME :: \(event)")
    
    // Google Analytics 실시간 개용에서 보여질 데이터
    let sendData = "\(name) [\(content)]"
    print("SET ANALYTICS BUTTON ::: \(sendData)")
    
    // 이벤트 송신
    Analytics.logEvent(event, parameters: [
        AnalyticsParameterItemName: sendData
    ])
    print("-------------------------------------------------------------------------")
#endif
}
  • 상기의 코드랩 처럼 이벤트 이름으로 보내도록 커스터마이징 해줬다.
  • 여기서 디버그모드 빌드인지 릴리즈 빌드인지 구분해줘야 했고,
  • 릴리즈 버전에서만 로그가 집계가 되야하기 때문에 #if Debug 와 #else로 나눴고
  • 디버그 쪽에는 테스트가 가능한 코드만 남겨놨다.

  • 이벤트 이름이 찍히는 것을 확인할 수 있다.

0개의 댓글