From 7c3ef71ea010b97247f11e9378863a102c50db61 Mon Sep 17 00:00:00 2001 From: dongchyeon Date: Mon, 11 May 2026 23:25:41 +0900 Subject: [PATCH 1/2] chore: 0.3.1 (7) -> 0.3.2 (8) --- app/build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 173384a..32ccc53 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -30,8 +30,8 @@ android { defaultConfig { applicationId = "com.sseotdabwa.buyornot" - versionCode = 7 - versionName = "0.3.1" + versionCode = 8 + versionName = "0.3.2" buildConfigField("String", "KAKAO_NATIVE_APP_KEY", "\"${localProperties.getProperty("kakao.nativeAppKey", "")}\"") manifestPlaceholders["NATIVE_APP_KEY"] = localProperties.getProperty("kakao.nativeAppKey", "") From ecce95990446d5bfa8156d8312b9dd4ccd036c60 Mon Sep 17 00:00:00 2001 From: dongchyeon Date: Mon, 11 May 2026 23:46:06 +0900 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20DebugAnalytics=EC=97=90=20=EC=8A=88?= =?UTF-8?q?=ED=8D=BC=20=EC=86=8D=EC=84=B1(platform,=20app=5Fversion,=20use?= =?UTF-8?q?r=5Fid)=20=EB=85=B8=EC=B6=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit track 시 super properties를 함께 출력하고, identify로 user_id를 갱신 Co-Authored-By: Claude Sonnet 4.6 --- .../com/sseotdabwa/buyornot/ui/BuyOrNotViewModel.kt | 2 ++ .../buyornot/core/analytics/DebugAnalytics.kt | 10 ++++++++-- .../buyornot/core/analytics/di/AnalyticsModule.kt | 12 +++++++++--- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/sseotdabwa/buyornot/ui/BuyOrNotViewModel.kt b/app/src/main/java/com/sseotdabwa/buyornot/ui/BuyOrNotViewModel.kt index 1324f61..129ad4e 100644 --- a/app/src/main/java/com/sseotdabwa/buyornot/ui/BuyOrNotViewModel.kt +++ b/app/src/main/java/com/sseotdabwa/buyornot/ui/BuyOrNotViewModel.kt @@ -1,5 +1,6 @@ package com.sseotdabwa.buyornot.ui +import android.util.Log import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.sseotdabwa.buyornot.core.analytics.Analytics @@ -32,6 +33,7 @@ class BuyOrNotViewModel @Inject constructor( userPreferencesRepository.userId .distinctUntilChanged() .onEach { userId -> + Log.d("BuyOrNotViewModel", "userId: $userId") analytics.identify(if (userId != 0L) userId.toString() else null) }.launchIn(viewModelScope) } diff --git a/core/analytics/src/main/java/com/sseotdabwa/buyornot/core/analytics/DebugAnalytics.kt b/core/analytics/src/main/java/com/sseotdabwa/buyornot/core/analytics/DebugAnalytics.kt index e9068b1..cd3eb1b 100644 --- a/core/analytics/src/main/java/com/sseotdabwa/buyornot/core/analytics/DebugAnalytics.kt +++ b/core/analytics/src/main/java/com/sseotdabwa/buyornot/core/analytics/DebugAnalytics.kt @@ -2,12 +2,18 @@ package com.sseotdabwa.buyornot.core.analytics import android.util.Log -class DebugAnalytics : Analytics { +class DebugAnalytics( + private val appVersion: String, +) : Analytics { + private var userId: String? = null + override fun track(event: AnalyticsEvent) { - Log.d("Analytics", event.toString()) + val superProps = "platform=android, app_version=$appVersion, user_id=$userId" + Log.d("Analytics", "$event [$superProps]") } override fun identify(userId: String?) { + this.userId = userId Log.d("Analytics", "identify: userId=$userId") } } diff --git a/core/analytics/src/main/java/com/sseotdabwa/buyornot/core/analytics/di/AnalyticsModule.kt b/core/analytics/src/main/java/com/sseotdabwa/buyornot/core/analytics/di/AnalyticsModule.kt index 0a693a2..5c92d81 100644 --- a/core/analytics/src/main/java/com/sseotdabwa/buyornot/core/analytics/di/AnalyticsModule.kt +++ b/core/analytics/src/main/java/com/sseotdabwa/buyornot/core/analytics/di/AnalyticsModule.kt @@ -20,9 +20,14 @@ object AnalyticsModule { @Singleton fun provideAnalytics( @ApplicationContext context: Context, - ): Analytics = - if (BuildConfig.DEBUG) { - DebugAnalytics() + ): Analytics { + val appVersion = + context.packageManager + .getPackageInfo(context.packageName, 0) + .versionName + ?: "unknown" + return if (BuildConfig.DEBUG) { + DebugAnalytics(appVersion) } else { val mixpanel = MixpanelAPI.getInstance( @@ -37,4 +42,5 @@ object AnalyticsModule { ?: "unknown" MixpanelAnalytics(mixpanel, appVersion) } + } }