본문 바로가기
안드로이드(kotlin)

Firebase의 analytics로 DebugView 쓰기

by 기계공학 주인장 2022. 12. 18.
반응형

DebugView를 사용하여 Firebase의 analytics를 디버깅 테스트 해보겠습니다.


이를 통해 사용자가 언제 앱을 사용했고, 어느 화면을 보고, 어떤 버튼을 클릭했는지

심지어는 언제 앱을 삭제했는지도 알려줍니다.

그렇기 때문에 firebase의 애널리틱스는 앱 개발을 할 때 필수로 들어가야하는 기능 중 하나입니다


Firebase 설정하기


1. 안드로이드 스튜디오 접속

2. 상단의 [Tool] -> [Firebase] 클릭 

firebase를 클릭한다

3. 메뉴에서 [Analytics] 선택 -> Get started with Google Analytics[Kotlin]을 선택한다


4. 그 이후에는 설명서를 보고 따라하면 된다


Firebase에 필요한 dependency 정의하기

implementation 'com.google.firebase:firebase-analytics:21.2.0'

Debug View에서 사용하기 위한 코드 작성하기

<코드 스토리>

  • MainActivity가 있고 그 안에 FirstFragment 라는 Fragment가 있는 레이아웃 구조의 앱임
    • 화면을 열면 screen_view 이벤트를 출력하게 한다
class MainActivity : AppCompatActivity() {
    private lateinit var binding: ActivityMainBinding
    private lateinit var analytics: FirebaseAnalytics

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)
        Timber.plant(MyTimber())

        // Analytics 초기화
        analytics = Firebase.analytics

        // screen_view 이벤트 출력
        analytics.logEvent(FirebaseAnalytics.Event.SCREEN_VIEW) {
            param(FirebaseAnalytics.Param.SCREEN_NAME, this@MainActivity.javaClass.simpleName)
            param("test", "test")
        }
}
  • FirstFragment
    • 화면 안에 있는 버튼을 누르면 select_content 이벤트를 출력하게 한다
class FirstFragment : Fragment() {
    private var binding: FragmentFirstBinding by autoCleared()
    private lateinit var analytics: FirebaseAnalytics

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View {
        binding = FragmentFirstBinding.inflate(inflater, container, false)

        // Analytics 초기화
        analytics = Firebase.analytics

        return binding.root
    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        // select_content 이벤트 출력
        binding.analyticsButton.setOnClickListener {
            analytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT) {
                param(FirebaseAnalytics.Param.SCREEN_NAME, this@FirstFragment.javaClass.simpleName)
                param("test", "test")
                param(FirebaseAnalytics.Param.ITEM_NAME, "test item name");
            }
        }
    }
}

완성된 analytics 테스트 화면


DebugView 테스트 하기

Analytics의 테스트는 DebugView라는 것을 사용한다 

 

adb를 사용한 테스트도 있지만 DebugView가 직관적이고 확실하다

 

위에서 작성한 코드를 사용하면 다음과 같은 결과를 얻을 수 있다

 

  1. MainActivity를 열었을 때 MainActivity 이름을 출력하는 이벤트 발생(screen_view)
  2. SEND ANALYTICS 버튼을 눌렀을 때 클릭 이벤트를 보낸다(select_content)

DebugView를 사용하여 테스트중인 모습

 


Firebase의 analytics로 DebugView 테스트 하기 요약

  1. Firebase 설정하기
    1. 안드로이드 스튜디오에서 설정 및 정의
    2. Firebase에 필요한 dependency 정의하기
  2. Debug View에서 사용하기 위한 코드 작성하기
    1. MainActivity 및 Fragment에서 이벤트 정의
  3. DebugView 테스트 하기(디버깅 하기)
    1. 특정 화면을 열었을 때 = screen_view
    2. 특정 클릭을 했을 때 = select_content

 

 

반응형


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


댓글