Nuke Olaf - Log Store
[Android] 안드로이드 - event logging (firebase) 본문
안드로이드 앱을 개발하고 구글플레이스토어에 등록하여 배포를 하는 상황을 생각해보자.
개발자는 앱을 배포하기전에 최대한 많은 경우의 수를 생각해서 최대한 오류가 생기지 않도록 디버깅을 하겠지만, 세상 살이가 다 마음처럼 그렇게 쉽게 되지만은 않는다. 배포 후에 사용자가 앱을 사용하는 과정에서 개발자가 예기치 못한 어떤 에러가 생길 수 있다. 개발자는 event logging 을 통해 그러한 오류를 수집할 수 있다.
event logging 은 사용자가 앱을 사용하는 과정에서 발생하는 오류 뿐만 아니라 사용자가 어떤 작업을 했는지 등의 행동 데이터를 수집할 수 있게 도와준다.
1. event 란??
event log 는 logcat 에 뜨는 디버깅 로그와는 다르다.
event 는 사용자 작업, 시스템 이벤트 또는 오류와 같은 앱에서 발생하는 상황을 파악하는 수단이다.
2. 안드로이드에서 event, 즉 로그를 수집하고 분석하는 방법
여러가지가 있을 수 있는데, Google Analytics 가 가장 널리 사용된다.
Google Analytics 란? Analytics는 분석, 정보라는 뜻이다.
Firebase용 Google 애널리틱스란?
Google의 통합 앱 개발자 플랫폼인 Firebase와 연동하는 최신 Google 애널리틱스 앱 보고서가 출시됨에 따라 Google 자료 중 일부에서 'Firebase용 Google 애널리틱스'라는 용어가 표시되는 것을 보게 될 수 있습니다. Firebase 콘솔 및 Firebase를 통해 서로 연결되는 Google의 기타 앱 기반 제품에 표시되는 'Firebase용 Google 애널리틱스'는 최신 Google 애널리틱스 앱 보고서를 가리킵니다. Google 애널리틱스에서 이러한 최신 앱 보고서를 사용하는 경우 Google 애널리틱스와 Firebase 콘솔에서 표시되는 보고서가 동일합니다. 따라서 Google 애널리틱스 또는 Firebase 콘솔을 사용하는 조직 내의 모든 구성원이 앱의 동일한 데이터와 보고서를 이용해서 작업할 수 있습니다.
이 보고서에서는 모바일 앱에 대한 포괄적인 인앱 행동 및 마케팅 분석 데이터를 제공합니다. 이를 통해 사용자가 앱을 사용하는 방식과 마케팅 실적에 대한 정보를 얻을 수 있습니다. 또한 잠재고객 목록을 만들고 제3자 네트워크와 연결하여 보고서를 통해 얻은 분석 정보를 곧바로 활용할 수 있습니다.
Google 애널리틱스 또는 Firebase 콘솔에서 앱 보고서를 보려면 앱에서 Firebase SDK를 사용해야 합니다. Firebase SDK를 이용하면 자동으로 기본 앱 사용 데이터를 수집하므로 코드를 추가로 작성할 필요가 없습니다. 보고서를 통해 앱을 실행한 횟수, 인앱 구매 발생 빈도, 특정 기간에 활성 상태였던 사용자 수 등 기본적인 상호작용을 파악할 수 있으며, 사용자의 인구통계 및 관심분야도 확인할 수 있습니다.
위키피디아에서 말하는 Google Analytics : https://en.wikipedia.org/wiki/Google_Analytics
google web log 분석을 하는 이유에 대한 정리 글 : https://medium.com/analytics-for-humans/what-is-google-analytics-and-why-is-it-important-to-my-business-8c083a9f81be
3. 안드로이드에서 Google Analytics 사용하기
(1) 우선, 안드로이드 앱에 연결할 Firebase 프로젝트를 만들어야한다. https://firebase.google.com/docs/android/setup
Firebase Console 에서 프로젝트를 추가한 다음, 프로젝트 이름을 입력하여 만들 수 있다.
(2) Firebase 프로젝트가 준비되면, Android 앱을 추가한다. 파이어베이스 콘솔의 워크플로우를 따라가면 된다.
(3) 앱에 애널리틱스를 추가한다
https://firebase.google.com/docs/analytics/android/start
- app/build.gradle 에 firebase-analytics 를 추가한다
implementation 'com.google.firebase:firebase-analytics:17.2.0'
- Activity 상단에 com.google.firebase.analytics.FirebaseAnalytics 객체를 선언한다
private lateinit var firebaseAnalytics: FirebaseAnalytics
- onCreate() 메서드에서 객체를 초기화한다
// Obtain the FirebaseAnalytics instance.
firebaseAnalytics = FirebaseAnalytics.getInstance(this)
(4) FirebaseAnalytics 인스턴스를 만든 후 이를 사용하여 logEvent() 메서드로 사전에 정의된 이벤트나 커스텀 이벤트를 로깅할 수 있다. FirebaseAnalytics.Event 및 FirebaseAnalytics.Param 에서 사전 정의된 이벤트나 매개변수를 확인할 수 있다.
아래의 코드는 사용자가 앱에서 특정요소를 클릭할 때, SELECT_CONTENT 이벤트를 로깅하는 코드이다.
val bundle = Bundle()
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id)
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name)
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image")
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle)
https://www.simoahava.com/analytics/android-quickstart-google-analytics-firebase-google-tag-manager/
참고 사이트 >>>
https://firebase.google.com/docs/analytics/cpp/events?hl=ko
https://firebase.google.com/docs/analytics/events
https://developer.android.com/reference/android/util/EventLog
'Android' 카테고리의 다른 글
레트로핏 (Retrofit) 이란? (Kotlin 으로 레트로핏 사용) (0) | 2020.03.07 |
---|---|
안드로이드 앱 아키텍처 가이드 (1) | 2020.03.07 |
[Android] 안드로이드 - 버튼을 눌렀을 때의 이벤트에 대한 고찰 (입력 이벤트) (0) | 2020.01.19 |
[Android] 안드로이드 - Google map 폴리라인 그리기 (0) | 2020.01.16 |
[Android] 안드로이드 - Fused Location Provider API 란? (0) | 2020.01.16 |