# 자동 수집되는 이벤트
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
* firebase 잘 정리된 블로그
1. dev-yakuza.posstree.com/ko/react-native/react-native-admob/
2. dev-yakuza.posstree.com/ko/react-native/react-native-firebase-admob/
3. dev-yakuza.posstree.com/ko/react-native/react-native-firebase-analytics/
'GrowthHack > Firebase +' 카테고리의 다른 글
Firebase - 광고식별자 수집하기 (0) | 2021.06.22 |
---|---|
Firebase - debugview 사용법 (0) | 2021.03.30 |
Firebase - react native 개발환경 설정 (0) | 2021.03.29 |