Updated on 2026-08-14
This commit is contained in:
parent
f9ccdb0982
commit
584e39a5fe
7 changed files with 37 additions and 3 deletions
|
|
@ -44,22 +44,30 @@ sealed class CommonSendAnalyticEvents(
|
|||
data class FeeScreenOpened(
|
||||
val categoryName: String,
|
||||
val source: CommonSendSource,
|
||||
val blockchain: String,
|
||||
val token: String,
|
||||
) : CommonSendAnalyticEvents(
|
||||
category = categoryName,
|
||||
event = "Fee Screen Opened",
|
||||
params = mapOf(
|
||||
SOURCE to source.analyticsName,
|
||||
BLOCKCHAIN to blockchain,
|
||||
TOKEN_PARAM to token,
|
||||
),
|
||||
)
|
||||
|
||||
data class FeeSummaryScreenOpened(
|
||||
val categoryName: String,
|
||||
val source: CommonSendSource,
|
||||
val blockchain: String,
|
||||
val token: String,
|
||||
) : CommonSendAnalyticEvents(
|
||||
category = categoryName,
|
||||
event = "Fee Summary Screen Opened",
|
||||
params = mapOf(
|
||||
SOURCE to source.analyticsName,
|
||||
BLOCKCHAIN to blockchain,
|
||||
TOKEN_PARAM to token,
|
||||
),
|
||||
)
|
||||
|
||||
|
|
@ -67,12 +75,14 @@ sealed class CommonSendAnalyticEvents(
|
|||
val categoryName: String,
|
||||
val source: CommonSendSource,
|
||||
val availableTokens: String,
|
||||
val blockchain: String,
|
||||
) : CommonSendAnalyticEvents(
|
||||
category = categoryName,
|
||||
event = "Fee Token Screen Opened",
|
||||
params = mapOf(
|
||||
SOURCE to source.analyticsName,
|
||||
"Available Fee" to availableTokens,
|
||||
BLOCKCHAIN to blockchain,
|
||||
),
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import com.tangem.core.analytics.models.AnalyticsParam.Key.BLOCKCHAIN
|
|||
import com.tangem.core.analytics.models.AnalyticsParam.Key.FEE_TOKEN
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.FEE_TYPE
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.SOURCE
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.TOKEN_PARAM
|
||||
import com.tangem.features.send.v2.api.analytics.CommonSendAnalyticEvents.CommonSendSource
|
||||
|
||||
sealed class CommonSendFeeAnalyticEvents(
|
||||
|
|
@ -38,11 +39,13 @@ sealed class CommonSendFeeAnalyticEvents(
|
|||
data class CustomFeeButtonClicked(
|
||||
override val categoryName: String,
|
||||
val blockchain: String,
|
||||
val token: String,
|
||||
) : CommonSendFeeAnalyticEvents(
|
||||
category = categoryName,
|
||||
event = "Custom Fee Clicked",
|
||||
params = mapOf(
|
||||
BLOCKCHAIN to blockchain,
|
||||
TOKEN_PARAM to token,
|
||||
),
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -122,6 +122,7 @@ internal class FeeSelectorLogic @AssistedInject constructor(
|
|||
CommonSendFeeAnalyticEvents.CustomFeeButtonClicked(
|
||||
categoryName = params.analyticsCategoryName,
|
||||
blockchain = params.cryptoCurrencyStatus.currency.network.name,
|
||||
token = params.cryptoCurrencyStatus.currency.symbol,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -86,6 +86,8 @@ internal class FeeSelectorModel @Inject constructor(
|
|||
CommonSendAnalyticEvents.FeeSummaryScreenOpened(
|
||||
categoryName = params.analyticsCategoryName,
|
||||
source = params.analyticsSendSource,
|
||||
blockchain = params.cryptoCurrencyStatus.currency.network.name,
|
||||
token = params.cryptoCurrencyStatus.currency.symbol,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
|
@ -95,6 +97,8 @@ internal class FeeSelectorModel @Inject constructor(
|
|||
CommonSendAnalyticEvents.FeeScreenOpened(
|
||||
categoryName = params.analyticsCategoryName,
|
||||
source = params.analyticsSendSource,
|
||||
blockchain = params.cryptoCurrencyStatus.currency.network.name,
|
||||
token = params.cryptoCurrencyStatus.currency.symbol,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
|
@ -105,6 +109,7 @@ internal class FeeSelectorModel @Inject constructor(
|
|||
categoryName = params.analyticsCategoryName,
|
||||
source = params.analyticsSendSource,
|
||||
availableTokens = getAvailableTokensString(),
|
||||
blockchain = params.cryptoCurrencyStatus.currency.network.name,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import com.tangem.core.analytics.models.AnalyticsParam
|
|||
import com.tangem.core.analytics.models.AnalyticsParam.Key.ACCOUNT_DERIVATION_FROM
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.BLOCKCHAIN
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.ENS_ADDRESS
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.FEE_TOKEN
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.FEE_TYPE
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.NONCE
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.TOKEN_PARAM
|
||||
|
|
@ -42,6 +43,7 @@ internal sealed class SendAnalyticEvents(
|
|||
AnalyticsParam.EmptyFull.Full -> true.toString().capitalize()
|
||||
}
|
||||
put(ENS_ADDRESS, ensAddress)
|
||||
put(FEE_TOKEN, feeToken)
|
||||
},
|
||||
), AppsFlyerIncludedEvent
|
||||
|
||||
|
|
|
|||
|
|
@ -2,12 +2,14 @@ package com.tangem.feature.swap.analytics
|
|||
|
||||
import com.tangem.common.ui.bottomsheet.permission.state.ApproveType
|
||||
import com.tangem.core.analytics.models.AnalyticsEvent
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.BLOCKCHAIN
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.ERROR_CODE
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.ERROR_MESSAGE
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.FEE_TOKEN
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.PROVIDER
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.RECEIVE_TOKEN
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.SEND_TOKEN
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.Key.TOKEN_PARAM
|
||||
import com.tangem.core.analytics.models.AppsFlyerIncludedEvent
|
||||
import com.tangem.feature.swap.domain.models.domain.SwapProvider
|
||||
import com.tangem.feature.swap.domain.models.ui.FeeType
|
||||
|
|
@ -20,9 +22,15 @@ sealed class SwapEvents(
|
|||
params: Map<String, String> = emptyMap(),
|
||||
) : AnalyticsEvent(SWAP_CATEGORY, event, params) {
|
||||
|
||||
data class SwapScreenOpened(val token: String) : SwapEvents(
|
||||
data class SwapScreenOpened(
|
||||
val token: String,
|
||||
val blockchain: String,
|
||||
) : SwapEvents(
|
||||
event = "Swap Screen Opened",
|
||||
params = mapOf("Token" to token),
|
||||
params = mapOf(
|
||||
TOKEN_PARAM to token,
|
||||
BLOCKCHAIN to blockchain,
|
||||
),
|
||||
), AppsFlyerIncludedEvent
|
||||
|
||||
class SendTokenBalanceClicked : SwapEvents(event = "Send Token Balance Clicked")
|
||||
|
|
|
|||
|
|
@ -329,7 +329,12 @@ internal class SwapModel @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
analyticsEventHandler.send(SwapEvents.SwapScreenOpened(initialCurrencyFrom.symbol))
|
||||
analyticsEventHandler.send(
|
||||
SwapEvents.SwapScreenOpened(
|
||||
token = initialCurrencyFrom.symbol,
|
||||
blockchain = initialCurrencyFrom.network.name,
|
||||
),
|
||||
)
|
||||
|
||||
getBalanceHidingSettingsUseCase()
|
||||
.onEach { settings ->
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue