앞선 포스팅에 이어, Firebase SDK가 업데이트되면서 수동화면추적을 위한 setCurrentScreen도 곧 지원중단 되므로, 함수를 변경해주도록 합니다.
수동화면추적이란?
자동 추적 사용 설정 여부와 관계없이 screen_view 이벤트를 수동으로 로깅할 수 있습니다.
이러한 이벤트는 iOS의 경우 viewDidAppear상태, Android의 경우 onResume 상태에서 로깅할 수 있습니다.
screen_class 를 설정하지 않으면 애널리틱스는 호출할 때 포커스가 지정된 UIViewController 또는 Activity를 기반으로 기본값을 설정합니다
앱을 사용하면서 화면전환율, 현재 화면에 관한 정보를 이벤트에 추적하면서 쓰입니다.
아래의 예시는 사용자가 어떤 화면에 들어왔는지를 남기기 위해 SCREEN_NAME을 사용했습니다.
수정 전
firebaseAnalytics.setCurrentScreen(Activity activity, String screenName, String screenClassOverride)
수정 후
val bun = Bundle()
bun.putString(FirebaseAnalytics.Param.SCREEN_NAME, screen name)
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SCREEN_VIEW, bun)
이렇게 적용한 Firebase의 화면 추적은 Firebase - DebugView에서 확인할 수 있습니다
DebugView에 연결하려면 AndroidStudio의 Terminal에서 해야할 작업이 있습니다
adb shell
setprop debug.firebase.analytics.app <패키지명>
▶ <패키지명> 사용시, Flavor을 사용할 경우 패키지명 뒤에 에뮬레이션된 Flavor명을 사용해줘야합니다.
(맨 처음 Flavor명시를 해주지 않아서 꽤나 고생했습니다..)
성공적으로 DebugView에 연결이 되면
디버그 기기 밑에 장치명이 뜨고, 시간별로 생성된 이벤트가 뜹니다
screen_view 이벤트를 클릭하면 우측에 매개변수, 사용자 속성의 탭이 생성되고 각 매개변수에서
firebase_screen을 클릭하면 사용자가 SCREEN_NAME에 심어둔 변수명이 나옵니다
DebugView에서 장치를 연결해제 하고 싶으면 마찬가지로 AndroidStudio Terminal에
setprop debug.firebase.analytics.app .none.
을 해주면, DebugView에서 디버그 된 기기가 해제됩니다.
포스팅 봐주셔서 감사합니다
틀린 부분이나 다른 의견이 있으시면 댓글 부탁드립니다🙌
'📱 Android' 카테고리의 다른 글
[Android/kotlin] LayoutInflater 사용 (PopupWindow) (0) | 2020.12.22 |
---|---|
[Android] getColor, getDrawable Deprecated 대응 (0) | 2020.11.18 |
[Android] 최신 Firebase Crashlytics Sdk 업데이트 (0) | 2020.11.05 |
[Android] Proguard 적용하기 (0) | 2020.08.30 |
[Android/kotlin] 특정 위치로 스크롤하기 (0) | 2020.08.12 |