📱 Android

[Android] Firebase setCurrentScreen 지원중단

콩드로이드 2020. 11. 9. 09:37

 

앞선 포스팅에 이어, 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에서 디버그 된 기기가 해제됩니다.

 

 

 

포스팅 봐주셔서 감사합니다

틀린 부분이나 다른 의견이 있으시면 댓글 부탁드립니다🙌