Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- kotlin
- 오퍼월
- 광고 id
- JavaScript
- 코테
- Android
- it
- Express
- 개발
- nuxt
- 티스토리챌린지
- 오블완
- Next
- toml
- 백준
- EC2
- AWS
- docker
- TypeScript
- React
- react-native
- 파이썬
- NanoHttpd
- css
- chrome
- python
- spring boots
- nginx
- 코딩테스트
- Jenkins
Archives
- Today
- Total
내맘대로 개발일지
[Kotlin] 애널리틱스 로그 보내기 - Analytics 본문
📱테스트 환경
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 은 종류가 많으니 애널리틱스에 가서 설명을 읽어보고, 자신에게 맞는 방식으로
데이터를 전송해주면 될 것 같다.
'Android > 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 |