안드로이드(kotlin)

Firebase의 analytics로 DebugView 쓰기

기계공학 주인장 2022. 12. 18. 22:09
반응형

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

 

 

반응형