본문 바로가기
GrowthHack/Firebase +

Firebase - collecting event data

by bents 2021. 3. 22.

# 자동 수집되는 이벤트

1. session_start : 사용자가 앱 또는 웹사이트에 참여할 때

                      your app goes into the foreground now ( no more 10 second delay )

2. user_engagement : 앱이 포그라운드 상태일 때 주기적으로

3. screen_view/page_view  : 화면 전환이 발생하고 다음 기준 중 하나가 충족될 때

4. app_exception/error : 앱이 다운되거나 예외가 발생할 때

5. app_remove : 애플리케이션 패키지가 Android 기기에서 삭제(제거)될 때 / Android만 해당

# Firebase에서 session, screen, engagement란? [링크]

1. Sessoin : 사용자가 앱과 상호 작용하는 인스턴스 

*a session is finished when more than 30 minutes has passed since your app was in the foreground

ga_session_id : 세션의 고유 식별자 / a unique identifier for the session

ga_session_number : 세션의 자녀노드 번호 / a monotonically increasing index for counting sessions.

 

--> 모든 user의 활동을 기준으로 session을 정의한다. (과거보다 많은 세션이 생김)

--> 30분이 지나면 session이 새로 정의된다. (fore/backgroudn 상관없음)

--> backgroud에 내려가더라도 30분동안 session는 유지된다. (앱 사용중지하면 session 종료)

--> 즉, ga_session_id과 ga_session_number로 모든 세션을 관리할 수 있다.

 

2. Screen : 화면이름/화면클래스이름/화면아이디를 단위로 화면을 정의한다.

--> 이전에 설정된 화면이 없음

--> 새 화면 이름이 이전 화면 이름과 다름

--> 새 화면 클래스 이름이 이전 화면 클래스 이름과 다름

--> 새 화면 ID가 이전 화면 ID와 다름

 

*화면클래스 1개 밖에 없음.
controller(ios), activity
(android)

*화면이름이 있어야 Debugging 쉽다. (Debugview)

render() {
    firebase.analytics().setCurrentScreen('HOME');
    ...
    return (
        ...
    );
}

 

3. Engagement : 사용자가 앱을 사용하고 있을 때

a) Sent your app into the background,  

b) Switched screens,   --> screen_view

c) Crashed,    --> app_exception 

d) Used your app for an hour. --> first_open

 

* user_engagement, screen_view , app_exception , first_open 에 engagement_time_msec을 담고 있다.

* session도 engagement도 매번 바뀐다. 유저는 무엇으로 식별하나?

--> user_pseudo_id

 

SELECT SUM(engagement_time) AS total_user_engagement 
FROM (
  SELECT user_pseudo_id, 
    (SELECT value.int_value FROM UNNEST(event_params) WHERE key = 
      "engagement_time_msec") AS engagement_time
  FROM `firebase-public-project.analytics_153293282.events_20181003` 
)
WHERE engagement_time > 0
GROUP BY user_pseudo_id

# 커스텀 이벤트 (=log event)

- custom event 에 custom parameters 추가하기 (코드, firebase 콘솔) [링크]

private _onSpeech = (Tts, text: string) => {
    firebase.analytics().logEvent('onPressSoundButton', { target: text });
    ...
}

 

# 스키마 정리 [링크]

 

# 샘플쿼리 [링크]

 

 

출처 

 support.google.com/firebase/answer/9234069?hl=ko

[GA4] 자동으로 수집되는 이벤트 - Firebase 고객센터

자동으로 수집되는 이벤트는 (아래 표의 이벤트 이름 아래 표시된) 앱 또는 사이트와의 기본적인 상호작용에 의해 트리거됩니다. SDK 또는 gtag.js를 사용하면 추가로 코드를 작성하지 않아도 이러

support.google.com

stackoverflow.com/questions/55057878/firebase-analytics-difference-in-screen-view-and-session-start-count

Firebase analytics - Difference in screen_view and session_start count

Recently noticed some difference in Users count of screen_view and session_start events. Which one will be used in Active Users calculation? Thanks in advance.

stackoverflow.com

 

* firebase 잘 정리된 블로그

1. dev-yakuza.posstree.com/ko/react-native/react-native-admob/

구글 애드몹

구글 애드몹(google admob) 광고를 사용하기 위해 react-native-admob 라이브러리를 사용해 보자.

dev-yakuza.posstree.com

2. dev-yakuza.posstree.com/ko/react-native/react-native-firebase-admob/

Firebase Admob

react-native-firebase 라이브러리를 사용하여 Google Admob을 표시해보자.

dev-yakuza.posstree.com

3. dev-yakuza.posstree.com/ko/react-native/react-native-firebase-analytics/

Firebase Analytics

react-native-firebase 라이브러리를 사용하여 좀 더 자세하게 앱을 분석해 보자

dev-yakuza.posstree.com

 

'GrowthHack > Firebase +' 카테고리의 다른 글

Firebase - 광고식별자 수집하기  (0) 2021.06.22
Firebase - debugview 사용법  (0) 2021.03.30
Firebase - react native 개발환경 설정  (0) 2021.03.29