Updated on 2026-08-14

This commit is contained in:
Tangem 2025-03-25 19:46:33 +02:00
parent 7216f239f7
commit 0c949ebd42
10 changed files with 33 additions and 38 deletions

View file

@ -2,7 +2,7 @@ package com.tangem.tap.common.analytics.events
import com.tangem.core.analytics.models.AnalyticsEvent
class BlockchainExceptionEvent(
class BlockchainApiExceptionEvent(
selectedHost: String,
exceptionHost: String,
error: String,

View file

@ -0,0 +1,18 @@
package com.tangem.tap.common.analytics.events
import com.tangem.common.core.TangemSdkError
import com.tangem.core.analytics.models.AnalyticsEvent
import com.tangem.tap.common.analytics.converters.AnalyticsErrorConverter
class TangemSdkErrorEvent(
val exception: TangemSdkError,
) : AnalyticsEvent(
category = "TangemSdk",
event = "Tangem Sdk Error",
params = errorConverter.convert(exception),
) {
companion object {
private val errorConverter = AnalyticsErrorConverter()
}
}

View file

@ -2,7 +2,7 @@ package com.tangem.tap.common.analytics.handlers
import com.tangem.blockchain.common.ExceptionHandlerOutput
import com.tangem.core.analytics.api.AnalyticsErrorHandler
import com.tangem.tap.common.analytics.events.BlockchainExceptionEvent
import com.tangem.tap.common.analytics.events.BlockchainApiExceptionEvent
import javax.inject.Inject
class BlockchainExceptionHandler @Inject constructor(
@ -10,7 +10,7 @@ class BlockchainExceptionHandler @Inject constructor(
) : ExceptionHandlerOutput {
override fun handleApiSwitch(currentHost: String, nextHost: String, message: String) {
analyticsErrorHandler.sendErrorEvent(
BlockchainExceptionEvent(
BlockchainApiExceptionEvent(
selectedHost = nextHost,
exceptionHost = currentHost,
error = message,

View file

@ -1,13 +1,11 @@
package com.tangem.tap.common.analytics.handlers.amplitude
import com.tangem.core.analytics.api.AnalyticsErrorHandler
import com.tangem.core.analytics.api.AnalyticsHandler
import com.tangem.core.analytics.models.AnalyticsEvent
import com.tangem.tap.common.analytics.api.AnalyticsHandlerBuilder
class AmplitudeAnalyticsHandler(
private val client: AmplitudeAnalyticsClient,
) : AnalyticsHandler, AnalyticsErrorHandler {
) : AnalyticsHandler {
override fun id(): String = ID
@ -15,10 +13,6 @@ class AmplitudeAnalyticsHandler(
client.logEvent(eventId, params)
}
override fun sendErrorEvent(event: AnalyticsEvent) {
send(event.id, event.params)
}
companion object {
const val ID = "Amplitude"
}

View file

@ -28,7 +28,6 @@ internal class FirebaseClient : FirebaseAnalyticsClient {
)
}
// TODO [REDACTED_TASK_KEY] fix recordException usages in the app
override fun logException(error: Throwable, params: Map<String, String>) {
fbCrashlytics.recordException(error) {
eventConverter.convertEventParams(params)