Updated on 2026-08-14

This commit is contained in:
Tangem 2022-10-25 21:35:45 +05:00
parent 9a8dd8b4b4
commit f45ce626b9
4 changed files with 20 additions and 33 deletions

View file

@ -7,6 +7,7 @@ import com.tangem.common.core.TangemSdkError
import com.tangem.tap.common.analytics.AnalyticsAnOld
import com.tangem.tap.common.analytics.AnalyticsEventAnOld
import com.tangem.tap.common.analytics.AnalyticsParamAnOld
import com.tangem.tap.common.analytics.events.AnalyticsEvent
import com.tangem.tap.common.extensions.filterNotNull
/**
@ -18,12 +19,26 @@ interface AnalyticsEventHandler {
params: Map<String, String> = emptyMap(),
)
fun handleAnalyticsEvent(
event: AnalyticsEvent,
card: Card? = null,
blockchain: String? = null,
) {
handleEvent(
event = prepareEventString(event.category, event.event),
params = prepareParams(card, blockchain, event.params),
)
}
@Deprecated("Migrate to AnalyticsEvent")
fun handleAnalyticsEvent(
event: AnalyticsEventAnOld,
params: Map<String, String> = emptyMap(),
card: Card? = null,
blockchain: String? = null,
)
) {
handleEvent(event.event, prepareParams(card, blockchain, params))
}
fun prepareParams(
card: Card?,
@ -34,6 +49,10 @@ interface AnalyticsEventHandler {
AnalyticsParamAnOld.BATCH_ID.param to card?.batchId,
AnalyticsParamAnOld.BLOCKCHAIN.param to blockchain,
).filterNotNull() + params
fun prepareEventString(category: String, event: String): String {
return "[$category] $event"
}
}
interface ErrorEventHandler {

View file

@ -1,7 +1,5 @@
package com.tangem.tap.common.analytics.handlers.amplitude
import com.tangem.common.card.Card
import com.tangem.tap.common.analytics.AnalyticsEventAnOld
import com.tangem.tap.common.analytics.api.AnalyticsEventHandler
class AmplitudeAnalyticsHandler(
@ -11,13 +9,4 @@ class AmplitudeAnalyticsHandler(
override fun handleEvent(event: String, params: Map<String, String>) {
client.logEvent(event, params)
}
override fun handleAnalyticsEvent(
event: AnalyticsEventAnOld,
params: Map<String, String>,
card: Card?,
blockchain: String?,
) {
handleEvent(event.event, prepareParams(card, blockchain, params))
}
}

View file

@ -4,8 +4,6 @@ import com.appsflyer.AFInAppEventParameterName
import com.appsflyer.AFInAppEventType
import com.shopify.buy3.Storefront
import com.tangem.common.Converter
import com.tangem.common.card.Card
import com.tangem.tap.common.analytics.AnalyticsEventAnOld
import com.tangem.tap.common.analytics.api.AnalyticsEventHandler
import com.tangem.tap.common.analytics.api.ShopifyOrderEventHandler
@ -17,15 +15,6 @@ class AppsFlyerAnalyticsHandler(
client.logEvent(event, params)
}
override fun handleAnalyticsEvent(
event: AnalyticsEventAnOld,
params: Map<String, String>,
card: Card?,
blockchain: String?,
) {
handleEvent(event.event, prepareParams(card, blockchain, params))
}
override fun handleShopifyOrderEvent(order: Storefront.Order) {
handleEvent(ORDER_EVENT, OrderToParamsConverter().convert(order))
}

View file

@ -7,7 +7,6 @@ import com.tangem.common.Converter
import com.tangem.common.card.Card
import com.tangem.common.core.TangemSdkError
import com.tangem.tap.common.analytics.AnalyticsAnOld
import com.tangem.tap.common.analytics.AnalyticsEventAnOld
import com.tangem.tap.common.analytics.AnalyticsParamAnOld
import com.tangem.tap.common.analytics.api.AnalyticsEventHandler
import com.tangem.tap.common.analytics.api.ErrorEventHandler
@ -24,15 +23,6 @@ class FirebaseAnalyticsHandler(
client.logEvent(event, params)
}
override fun handleAnalyticsEvent(
event: AnalyticsEventAnOld,
params: Map<String, String>,
card: Card?,
blockchain: String?,
) {
handleEvent(event.name, prepareParams(card, blockchain, params))
}
override fun handleErrorEvent(error: Throwable, params: Map<String, String>) {
client.logErrorEvent(error, params)
}