📱테스트 환경
Samsung Galaxy Android 13 • Android 10
애널리틱스에 이런식으로 이벤트 이름 별 이벤트 수 에 바로 보이게 집계할 수 있도록 하는 방법을 알아보도록 하자.
01. build.gradle ( app ) 종속성 추가
apply plugin: 'com.google.gms.google-services'
dependencies {
...
implementation 'com.google.firebase:firebase-analytics:17.4.1'
implementation(platform("com.google.firebase:firebase-bom:32.3.1"))
implementation("com.google.firebase:firebase-analytics-ktx")
}
02. AndroidManifast.kt meta-data 추가
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@mipmap/ic_launcher_round" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
android:resource="@color/mint" />
03. logFirebaseEvent.kt 함수 생성
suspend fun logFirebaseEvent(eventId: String, eventName: String, context: Context, type: String) {
val firebaseAnalytics = FirebaseAnalytics.getInstance(context)
withContext(Dispatchers.IO) {
val bundle = Bundle().apply {
putString(FirebaseAnalytics.Param.ITEM_ID, eventId)
putString(FirebaseAnalytics.Param.ITEM_NAME, eventName)
putString(FirebaseAnalytics.Param.CONTENT_TYPE, type)
}
firebaseAnalytics.logEvent(eventId, bundle)
}
}
suspend 는 비동기로 코드를 실행시키고 있다 보니 넣었다. 비동기로 처리하지않을꺼면 빼도 상관은 없다.
애널리틱스로 전달할 데이터를 Bundle 로 만들어 주고, logEvent 를 통해서 이벤트를 애널리틱스로 보내주는 간단한 함수이다.
사용하는 방법은
private val scope = CoroutineScope(Dispatchers.IO)
scope.launch {
logFirebaseEvent("splash_activity_view", "앱 방문", this@SplashActivity, "view_displayed")
}
scope.launch {
logFirebaseEvent("help", "도움말", context, "button")
}
scope.launch {
logFirebaseEvent("조회", "조회", this@ContentsActivity, "notification")
}
이런식으로 데이터를 보내주고있는데, type 은 종류가 많으니 애널리틱스에 가서 설명을 읽어보고, 자신에게 맞는 방식으로
데이터를 전송해주면 될 것 같다.
'Kotlin' 카테고리의 다른 글
[Kotlin] UUID 란 ? UUID 생성 하는 방법 (0) | 2023.12.01 |
---|---|
[Kotlin] 이미지 다운로드받기 - ByteArray Image Download (0) | 2023.11.29 |
[Kotlin] 상태바 상태 변경하기 - StateBar Changes (1) | 2023.11.25 |
[Kotlin] Text 에 Url 연결하기 - 택배검색 url 연결하기 (1) | 2023.11.25 |
[Kotlin] Admob 적응형 배너 등록하는 방법 (0) | 2023.11.25 |