From 081128f2cf4e9f5013e545aa28b080df2dd3d6de Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 21 Jan 2026 17:12:52 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../handlers/appsflyer/AppsFlyerAnalyticsHandler.kt | 3 ++- .../core/analytics/models/AppsFlyerOnlyEvent.kt | 3 ++- .../java/com/tangem/core/analytics/models/Basic.kt | 2 +- .../models/event/OnboardingAnalyticsEvent.kt | 12 ++---------- .../domain/onramp/analytics/OnrampAnalyticsEvent.kt | 5 +++-- .../staking/analytics/StakingAnalyticsEvent.kt | 7 ++++--- .../tangem/domain/walletconnect/WcAnalyticEvents.kt | 8 +++++--- .../createmobilewallet/CreateMobileWalletModel.kt | 1 - .../v2/common/analytics/OnboardingEvent.kt | 8 +------- .../v2/api/analytics/CommonSendAnalyticEvents.kt | 7 ++++--- .../send/v2/send/analytics/SendAnalyticEvents.kt | 3 ++- .../analytics/SendWithSwapAnalyticEvents.kt | 3 ++- .../com/tangem/feature/swap/analytics/SwapEvents.kt | 5 +++-- .../wallet/analytics/WalletScreenAnalyticsEvent.kt | 9 ++------- .../analytics/utils/TokenListAnalyticsSender.kt | 1 - .../supply/api/analytics/YieldSupplyAnalytics.kt | 13 +++++++------ 16 files changed, 40 insertions(+), 50 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/common/analytics/handlers/appsflyer/AppsFlyerAnalyticsHandler.kt b/app/src/main/java/com/tangem/tap/common/analytics/handlers/appsflyer/AppsFlyerAnalyticsHandler.kt index 14a35c89cd..26675e0fef 100644 --- a/app/src/main/java/com/tangem/tap/common/analytics/handlers/appsflyer/AppsFlyerAnalyticsHandler.kt +++ b/app/src/main/java/com/tangem/tap/common/analytics/handlers/appsflyer/AppsFlyerAnalyticsHandler.kt @@ -26,8 +26,9 @@ class AppsFlyerAnalyticsHandler( } is AppsFlyerIncludedEvent -> { Timber.tag("AppsFlyer").i("Sending event to AppsFlyer: ${event.id} with params: ${event.params}") + val replacedEvent = event.appsFlyerReplacedEvent ?: event.event client.logEvent( - event = AnalyticsEvent(category = event.category, event = event.appsFlyerReplacedEvent).id, + event = AnalyticsEvent(category = event.category, event = replacedEvent).id, params = event.params, ) } diff --git a/core/analytics/models/src/main/java/com/tangem/core/analytics/models/AppsFlyerOnlyEvent.kt b/core/analytics/models/src/main/java/com/tangem/core/analytics/models/AppsFlyerOnlyEvent.kt index a265fcfd9f..757f31ff55 100644 --- a/core/analytics/models/src/main/java/com/tangem/core/analytics/models/AppsFlyerOnlyEvent.kt +++ b/core/analytics/models/src/main/java/com/tangem/core/analytics/models/AppsFlyerOnlyEvent.kt @@ -11,5 +11,6 @@ interface AppsFlyerOnlyEvent * Events implementing this interface will be sent to AppsFlyer along with other analytics handlers */ interface AppsFlyerIncludedEvent { - val appsFlyerReplacedEvent: String + val appsFlyerReplacedEvent: String? + get() = null } \ No newline at end of file diff --git a/core/analytics/models/src/main/java/com/tangem/core/analytics/models/Basic.kt b/core/analytics/models/src/main/java/com/tangem/core/analytics/models/Basic.kt index c59513d2fa..7a67705605 100644 --- a/core/analytics/models/src/main/java/com/tangem/core/analytics/models/Basic.kt +++ b/core/analytics/models/src/main/java/com/tangem/core/analytics/models/Basic.kt @@ -93,7 +93,7 @@ sealed class Basic( } this["Memo"] = memoType.name }, - ) { + ), AppsFlyerIncludedEvent { enum class MemoType { Empty, Full, Null } diff --git a/core/analytics/models/src/main/java/com/tangem/core/analytics/models/event/OnboardingAnalyticsEvent.kt b/core/analytics/models/src/main/java/com/tangem/core/analytics/models/event/OnboardingAnalyticsEvent.kt index c1cad4c1a7..e449459d0e 100644 --- a/core/analytics/models/src/main/java/com/tangem/core/analytics/models/event/OnboardingAnalyticsEvent.kt +++ b/core/analytics/models/src/main/java/com/tangem/core/analytics/models/event/OnboardingAnalyticsEvent.kt @@ -3,7 +3,6 @@ package com.tangem.core.analytics.models.event import com.tangem.core.analytics.models.AnalyticsEvent import com.tangem.core.analytics.models.AnalyticsParam import com.tangem.core.analytics.models.AppsFlyerIncludedEvent -import com.tangem.core.analytics.models.AppsFlyerOnlyEvent sealed class OnboardingAnalyticsEvent( category: String, @@ -16,8 +15,6 @@ sealed class OnboardingAnalyticsEvent( params: Map = mapOf(), ) : OnboardingAnalyticsEvent(category = "Onboarding", event = event, params = params) { - class AppsFlyerOnlyEntryScreenView : Onboarding(event = "wallet_entry_screen_view"), AppsFlyerOnlyEvent - class Started( source: String, ) : Onboarding( @@ -68,12 +65,7 @@ sealed class OnboardingAnalyticsEvent( put("Seed Phrase Length", seedPhraseLength.toString()) } }, - ), AppsFlyerIncludedEvent { - override val appsFlyerReplacedEvent = when (creationType) { - WalletCreationType.NewSeed -> "wallet_created_successfully" - WalletCreationType.SeedImport -> "wallet_imported" - } - } + ), AppsFlyerIncludedEvent sealed class WalletCreationType(val value: String) { data object NewSeed : WalletCreationType(value = "New Seed") @@ -93,7 +85,7 @@ sealed class OnboardingAnalyticsEvent( params = mapOf( AnalyticsParam.SOURCE to source, ), - ) + ), AppsFlyerIncludedEvent class ButtonImportWallet : SeedPhrase("Button - Import Wallet") class ImportSeedPhraseScreenOpened : SeedPhrase("Import Seed Phrase Screen Opened") diff --git a/domain/onramp/src/main/java/com/tangem/domain/onramp/analytics/OnrampAnalyticsEvent.kt b/domain/onramp/src/main/java/com/tangem/domain/onramp/analytics/OnrampAnalyticsEvent.kt index d9d98eac03..5010202433 100644 --- a/domain/onramp/src/main/java/com/tangem/domain/onramp/analytics/OnrampAnalyticsEvent.kt +++ b/domain/onramp/src/main/java/com/tangem/domain/onramp/analytics/OnrampAnalyticsEvent.kt @@ -8,6 +8,7 @@ import com.tangem.core.analytics.models.AnalyticsParam.Key.PROVIDER import com.tangem.core.analytics.models.AnalyticsParam.Key.RESIDENCE import com.tangem.core.analytics.models.AnalyticsParam.Key.SOURCE import com.tangem.core.analytics.models.AnalyticsParam.Key.TOKEN_PARAM +import com.tangem.core.analytics.models.AppsFlyerIncludedEvent import com.tangem.domain.onramp.model.OnrampSource sealed class OnrampAnalyticsEvent( @@ -28,7 +29,7 @@ sealed class OnrampAnalyticsEvent( SOURCE to source.analyticsName, TOKEN_PARAM to tokenSymbol, ), - ) + ), AppsFlyerIncludedEvent class SelectCurrencyScreenOpened : OnrampAnalyticsEvent(event = "Currency Screen Opened") @@ -133,7 +134,7 @@ sealed class OnrampAnalyticsEvent( "Currency Type" to currency, PAYMENT_METHOD to paymentMethod, ), - ) + ), AppsFlyerIncludedEvent class MinAmountError : OnrampAnalyticsEvent(event = "Error - Min Amount") class MaxAmountError : OnrampAnalyticsEvent(event = "Error - Max Amount") diff --git a/domain/staking/src/main/java/com/tangem/domain/staking/analytics/StakingAnalyticsEvent.kt b/domain/staking/src/main/java/com/tangem/domain/staking/analytics/StakingAnalyticsEvent.kt index e2950b602d..37c678b5e6 100644 --- a/domain/staking/src/main/java/com/tangem/domain/staking/analytics/StakingAnalyticsEvent.kt +++ b/domain/staking/src/main/java/com/tangem/domain/staking/analytics/StakingAnalyticsEvent.kt @@ -2,6 +2,7 @@ package com.tangem.domain.staking.analytics import com.tangem.core.analytics.models.AnalyticsEvent import com.tangem.core.analytics.models.AnalyticsParam +import com.tangem.core.analytics.models.AppsFlyerIncludedEvent import com.tangem.domain.staking.model.stakekit.StakingError import com.tangem.domain.models.staking.action.StakingActionType @@ -21,7 +22,7 @@ sealed class StakingAnalyticsEvent( params = mapOf( "Validators Count" to validatorsCount.toString(), ), - ) + ), AppsFlyerIncludedEvent class WhatIsStaking : StakingAnalyticsEvent( event = "Link - What Is Staking", @@ -40,7 +41,7 @@ sealed class StakingAnalyticsEvent( "Validator" to validator, "Action" to action.asAnalyticName, ), - ) + ), AppsFlyerIncludedEvent data class StakeInProgressScreenOpened( val validator: String, @@ -51,7 +52,7 @@ sealed class StakingAnalyticsEvent( "Validator" to validator, "Action" to action.asAnalyticName, ), - ) + ), AppsFlyerIncludedEvent class RewardScreenOpened : StakingAnalyticsEvent( event = "Reward Screen Opened", diff --git a/domain/wallet-connect/src/main/kotlin/com/tangem/domain/walletconnect/WcAnalyticEvents.kt b/domain/wallet-connect/src/main/kotlin/com/tangem/domain/walletconnect/WcAnalyticEvents.kt index aba74660de..27ca88f239 100644 --- a/domain/wallet-connect/src/main/kotlin/com/tangem/domain/walletconnect/WcAnalyticEvents.kt +++ b/domain/wallet-connect/src/main/kotlin/com/tangem/domain/walletconnect/WcAnalyticEvents.kt @@ -4,6 +4,7 @@ import com.domain.blockaid.models.dapp.CheckDAppResult import com.domain.blockaid.models.dapp.CheckDAppResult.* import com.tangem.core.analytics.models.AnalyticsEvent import com.tangem.core.analytics.models.AnalyticsParam +import com.tangem.core.analytics.models.AppsFlyerIncludedEvent import com.tangem.domain.models.network.Network import com.tangem.domain.walletconnect.WcAnalyticEvents.DAppVerificationStatus import com.tangem.domain.walletconnect.model.WcPairRequest @@ -19,7 +20,8 @@ sealed class WcAnalyticEvents( params: Map = emptyMap(), ) : AnalyticsEvent(category = WC_CATEGORY_NAME, event = event, params = params) { - class ScreenOpened : WcAnalyticEvents(event = "WC Screen Opened") + class ScreenOpened : WcAnalyticEvents(event = "WC Screen Opened"), AppsFlyerIncludedEvent + class NewPairInitiated(source: WcPairRequest.Source) : WcAnalyticEvents( event = "Session Initiated", params = mapOf( @@ -74,7 +76,7 @@ sealed class WcAnalyticEvents( AnalyticsParam.BLOCKCHAIN to sessionForApprove.network.joinToString(",") { it.name }, DOMAIN_VERIFICATION to securityStatus.toAnalyticVerificationStatus(), ), - ) + ), AppsFlyerIncludedEvent class DAppConnectionFailed( errorCode: String, @@ -85,7 +87,7 @@ sealed class WcAnalyticEvents( AnalyticsParam.ERROR_CODE to errorCode, AnalyticsParam.ERROR_DESCRIPTION to errorMessage, ), - ) + ), AppsFlyerIncludedEvent class SessionDisconnected(dAppMetaData: WcAppMetaData) : WcAnalyticEvents( event = "dApp Disconnected", diff --git a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createmobilewallet/CreateMobileWalletModel.kt b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createmobilewallet/CreateMobileWalletModel.kt index 1d9409b60b..d268abddb8 100644 --- a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createmobilewallet/CreateMobileWalletModel.kt +++ b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createmobilewallet/CreateMobileWalletModel.kt @@ -61,7 +61,6 @@ internal class CreateMobileWalletModel @Inject constructor( init { trackingContextProxy.addHotWalletContext() analyticsEventHandler.send(event = OnboardingAnalyticsEvent.Onboarding.Started(source = params.source)) - analyticsEventHandler.send(event = OnboardingAnalyticsEvent.Onboarding.AppsFlyerOnlyEntryScreenView()) analyticsEventHandler.send( event = OnboardingAnalyticsEvent.SeedPhrase.CreateMobileScreenOpened(source = params.source), ) diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/common/analytics/OnboardingEvent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/common/analytics/OnboardingEvent.kt index 101eb5ff04..b8ed2c5101 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/common/analytics/OnboardingEvent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/common/analytics/OnboardingEvent.kt @@ -34,12 +34,7 @@ sealed class OnboardingEvent( put("Seed Phrase Length", seedPhraseLength.toString()) } }, - ), AppsFlyerIncludedEvent { - override val appsFlyerReplacedEvent = when (creationType) { - WalletCreationType.NewSeed, WalletCreationType.PrivateKey -> "wallet_created_successfully" - WalletCreationType.SeedImport -> "wallet_imported" - } - } + ), AppsFlyerIncludedEvent sealed class WalletCreationType(val value: String) { data object PrivateKey : WalletCreationType(value = "Private Key") @@ -92,7 +87,6 @@ sealed class OnboardingEvent( ) : OnboardingEvent("Onboarding / Twins", event, params) { class ScreenOpened : Twins("Twinning Screen Opened") - class SetupStarted : Twins("Twin Setup Started") class SetupFinished : Twins("Twin Setup Finished") } diff --git a/features/send-v2/api/src/main/java/com/tangem/features/send/v2/api/analytics/CommonSendAnalyticEvents.kt b/features/send-v2/api/src/main/java/com/tangem/features/send/v2/api/analytics/CommonSendAnalyticEvents.kt index 82527c66bf..79d9472a6e 100644 --- a/features/send-v2/api/src/main/java/com/tangem/features/send/v2/api/analytics/CommonSendAnalyticEvents.kt +++ b/features/send-v2/api/src/main/java/com/tangem/features/send/v2/api/analytics/CommonSendAnalyticEvents.kt @@ -5,6 +5,7 @@ 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.SOURCE import com.tangem.core.analytics.models.AnalyticsParam.Key.TOKEN_PARAM +import com.tangem.core.analytics.models.AppsFlyerIncludedEvent /** * Send analytics @@ -25,7 +26,7 @@ sealed class CommonSendAnalyticEvents( params = mapOf( SOURCE to source.analyticsName, ), - ) + ), AppsFlyerIncludedEvent /** Amount screen opened */ data class AmountScreenOpened( @@ -37,7 +38,7 @@ sealed class CommonSendAnalyticEvents( params = mapOf( SOURCE to source.analyticsName, ), - ) + ), AppsFlyerIncludedEvent /** Fee screen opened */ data class FeeScreenOpened( @@ -74,7 +75,7 @@ sealed class CommonSendAnalyticEvents( ) } }, - ) + ), AppsFlyerIncludedEvent /** If transaction delays notification is present */ data class NoticeTransactionDelays( diff --git a/features/send-v2/impl/src/main/java/com/tangem/features/send/v2/send/analytics/SendAnalyticEvents.kt b/features/send-v2/impl/src/main/java/com/tangem/features/send/v2/send/analytics/SendAnalyticEvents.kt index d8ccef5d07..c732a34b77 100644 --- a/features/send-v2/impl/src/main/java/com/tangem/features/send/v2/send/analytics/SendAnalyticEvents.kt +++ b/features/send-v2/impl/src/main/java/com/tangem/features/send/v2/send/analytics/SendAnalyticEvents.kt @@ -8,6 +8,7 @@ import com.tangem.core.analytics.models.AnalyticsParam.Key.ENS_ADDRESS 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 +import com.tangem.core.analytics.models.AppsFlyerIncludedEvent import com.tangem.core.ui.extensions.capitalize import com.tangem.features.send.v2.api.analytics.CommonSendAnalyticEvents @@ -41,7 +42,7 @@ internal sealed class SendAnalyticEvents( } put(ENS_ADDRESS, ensAddress) }, - ) + ), AppsFlyerIncludedEvent data class ConvertTokenButtonClicked( val token: String, diff --git a/features/swap-v2/impl/src/main/java/com/tangem/features/swap/v2/impl/sendviaswap/analytics/SendWithSwapAnalyticEvents.kt b/features/swap-v2/impl/src/main/java/com/tangem/features/swap/v2/impl/sendviaswap/analytics/SendWithSwapAnalyticEvents.kt index e7e6ac5e7d..8f48f4568b 100644 --- a/features/swap-v2/impl/src/main/java/com/tangem/features/swap/v2/impl/sendviaswap/analytics/SendWithSwapAnalyticEvents.kt +++ b/features/swap-v2/impl/src/main/java/com/tangem/features/swap/v2/impl/sendviaswap/analytics/SendWithSwapAnalyticEvents.kt @@ -8,6 +8,7 @@ import com.tangem.core.analytics.models.AnalyticsParam.Key.RECEIVE_BLOCKCHAIN import com.tangem.core.analytics.models.AnalyticsParam.Key.RECEIVE_TOKEN import com.tangem.core.analytics.models.AnalyticsParam.Key.SEND_BLOCKCHAIN import com.tangem.core.analytics.models.AnalyticsParam.Key.SEND_TOKEN +import com.tangem.core.analytics.models.AppsFlyerIncludedEvent import com.tangem.domain.models.currency.CryptoCurrency import com.tangem.features.send.v2.api.analytics.CommonSendAnalyticEvents @@ -31,7 +32,7 @@ internal sealed class SendWithSwapAnalyticEvents( SEND_BLOCKCHAIN to fromToken.network.name, RECEIVE_BLOCKCHAIN to toToken.network.name, ), - ) + ), AppsFlyerIncludedEvent data class NoticeCanNotSwapToken( val fromToken: CryptoCurrency, diff --git a/features/swap/impl/src/main/java/com/tangem/feature/swap/analytics/SwapEvents.kt b/features/swap/impl/src/main/java/com/tangem/feature/swap/analytics/SwapEvents.kt index 92e8672bb2..fe69da29ce 100644 --- a/features/swap/impl/src/main/java/com/tangem/feature/swap/analytics/SwapEvents.kt +++ b/features/swap/impl/src/main/java/com/tangem/feature/swap/analytics/SwapEvents.kt @@ -7,6 +7,7 @@ import com.tangem.core.analytics.models.AnalyticsParam.Key.ERROR_MESSAGE 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.AppsFlyerIncludedEvent import com.tangem.feature.swap.domain.models.domain.SwapProvider import com.tangem.feature.swap.domain.models.ui.FeeType @@ -21,7 +22,7 @@ sealed class SwapEvents( data class SwapScreenOpened(val token: String) : SwapEvents( event = "Swap Screen Opened", params = mapOf("Token" to token), - ) + ), AppsFlyerIncludedEvent class SendTokenBalanceClicked : SwapEvents(event = "Send Token Balance Clicked") @@ -96,7 +97,7 @@ sealed class SwapEvents( "Receive Blockchain" to receiveBlockchain, "Account Derivation From or To (optional)" to "$fromDerivationIndex, $toDerivationIndex", ), - ) + ), AppsFlyerIncludedEvent class ProviderClicked : SwapEvents("Provider Clicked") diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/WalletScreenAnalyticsEvent.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/WalletScreenAnalyticsEvent.kt index 033a18e216..1eb6944175 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/WalletScreenAnalyticsEvent.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/WalletScreenAnalyticsEvent.kt @@ -2,7 +2,7 @@ package com.tangem.feature.wallet.presentation.wallet.analytics import com.tangem.core.analytics.models.AnalyticsEvent import com.tangem.core.analytics.models.AnalyticsParam -import com.tangem.core.analytics.models.AppsFlyerOnlyEvent +import com.tangem.core.analytics.models.AppsFlyerIncludedEvent import com.tangem.core.analytics.models.OneTimeAnalyticsEvent import com.tangem.domain.models.wallet.UserWalletId @@ -18,16 +18,11 @@ sealed class WalletScreenAnalyticsEvent { event = "Topped up", params = mapOf(AnalyticsParam.CURRENCY to walletType.value), ), - OneTimeAnalyticsEvent { + OneTimeAnalyticsEvent, AppsFlyerIncludedEvent { override val oneTimeEventId: String = id + userWalletId.stringValue } - class AppsFlyerWalletFunded(userWalletId: UserWalletId) : Basic(event = "wallet_funded"), - AppsFlyerOnlyEvent, OneTimeAnalyticsEvent { - override val oneTimeEventId: String = id + userWalletId.stringValue - } - class CardWasScanned(source: AnalyticsParam.ScreensSources) : Basic( event = "Card Was Scanned", params = mapOf( diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/utils/TokenListAnalyticsSender.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/utils/TokenListAnalyticsSender.kt index c3de527e77..5cfa978a2a 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/utils/TokenListAnalyticsSender.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/utils/TokenListAnalyticsSender.kt @@ -208,7 +208,6 @@ internal class TokenListAnalyticsSender @Inject constructor( } analyticsEventHandler.send(Basic.WalletToppedUp(userWallet.walletId, walletType)) - analyticsEventHandler.send(Basic.AppsFlyerWalletFunded(userWallet.walletId)) } } diff --git a/features/yield-supply/api/src/main/java/com/tangem/features/yield/supply/api/analytics/YieldSupplyAnalytics.kt b/features/yield-supply/api/src/main/java/com/tangem/features/yield/supply/api/analytics/YieldSupplyAnalytics.kt index 6d5f950820..02f6ba56aa 100644 --- a/features/yield-supply/api/src/main/java/com/tangem/features/yield/supply/api/analytics/YieldSupplyAnalytics.kt +++ b/features/yield-supply/api/src/main/java/com/tangem/features/yield/supply/api/analytics/YieldSupplyAnalytics.kt @@ -5,6 +5,7 @@ import com.tangem.core.analytics.models.AnalyticsParam.Key.ACTION import com.tangem.core.analytics.models.AnalyticsParam.Key.BLOCKCHAIN import com.tangem.core.analytics.models.AnalyticsParam.Key.ERROR_DESCRIPTION import com.tangem.core.analytics.models.AnalyticsParam.Key.TOKEN_PARAM +import com.tangem.core.analytics.models.AppsFlyerIncludedEvent sealed class YieldSupplyAnalytics( event: String, @@ -20,7 +21,7 @@ sealed class YieldSupplyAnalytics( TOKEN_PARAM to token, BLOCKCHAIN to blockchain, ), - ) + ), AppsFlyerIncludedEvent data class StartEarningScreen( val token: String, @@ -31,7 +32,7 @@ sealed class YieldSupplyAnalytics( TOKEN_PARAM to token, BLOCKCHAIN to blockchain, ), - ) + ), AppsFlyerIncludedEvent data class StopEarningScreen( val token: String, @@ -42,7 +43,7 @@ sealed class YieldSupplyAnalytics( TOKEN_PARAM to token, BLOCKCHAIN to blockchain, ), - ) + ), AppsFlyerIncludedEvent data class ButtonStartEarning( val token: String, @@ -97,7 +98,7 @@ sealed class YieldSupplyAnalytics( TOKEN_PARAM to token, BLOCKCHAIN to blockchain, ), - ) + ), AppsFlyerIncludedEvent data class FundsEarned( val token: String, @@ -108,7 +109,7 @@ sealed class YieldSupplyAnalytics( TOKEN_PARAM to token, BLOCKCHAIN to blockchain, ), - ) + ), AppsFlyerIncludedEvent data class FundsWithdrawn( val token: String, @@ -119,7 +120,7 @@ sealed class YieldSupplyAnalytics( TOKEN_PARAM to token, BLOCKCHAIN to blockchain, ), - ) + ), AppsFlyerIncludedEvent data class EarnedFundsInfo( val token: String,