diff --git a/app/src/main/java/com/tangem/tap/common/analytics/FirebaseAnalyticsHandler.kt b/app/src/main/java/com/tangem/tap/common/analytics/FirebaseAnalyticsHandler.kt index 5b468233ea..0d49728dd6 100644 --- a/app/src/main/java/com/tangem/tap/common/analytics/FirebaseAnalyticsHandler.kt +++ b/app/src/main/java/com/tangem/tap/common/analytics/FirebaseAnalyticsHandler.kt @@ -6,12 +6,20 @@ import com.google.firebase.analytics.ktx.analytics import com.google.firebase.ktx.Firebase import com.tangem.commands.common.card.Card -object FirebaseAnalyticsHandler: AnalyticsHandler { +object FirebaseAnalyticsHandler : AnalyticsHandler { override fun triggerEvent(event: AnalyticsEvent, card: Card?) { Firebase.analytics .logEvent(event.event, setCardData(card)) } + fun logException(name: String, throwable: Throwable) { + Firebase.analytics.logEvent(name, bundleOf( + "message" to (throwable.message ?: "none"), + "cause_message" to (throwable.cause?.message ?: "none"), + "stack_trace" to throwable.stackTraceToString() + )) + } + private fun setCardData(card: Card?): Bundle { if (card == null) return bundleOf() return bundleOf( diff --git a/app/src/main/java/com/tangem/tap/domain/config/ConfigLoader.kt b/app/src/main/java/com/tangem/tap/domain/config/ConfigLoader.kt index 725208082f..738f7fd99f 100644 --- a/app/src/main/java/com/tangem/tap/domain/config/ConfigLoader.kt +++ b/app/src/main/java/com/tangem/tap/domain/config/ConfigLoader.kt @@ -1,11 +1,11 @@ package com.tangem.tap.domain.config import android.content.Context -import com.google.firebase.crashlytics.FirebaseCrashlytics import com.google.firebase.ktx.Firebase import com.google.firebase.remoteconfig.ktx.remoteConfig import com.squareup.moshi.JsonAdapter import com.squareup.moshi.Moshi +import com.tangem.tap.common.analytics.FirebaseAnalyticsHandler import com.tangem.wallet.BuildConfig import timber.log.Timber @@ -69,7 +69,7 @@ class RemoteLoader( onComplete(emptyConfig) } }.addOnFailureListener { - FirebaseCrashlytics.getInstance().recordException(it) + FirebaseAnalyticsHandler.logException("remote_config_error", it) onComplete(emptyConfig) } }