diff --git a/app/src/main/java/com/tangem/tap/common/analytics/AnalyticsEvent.kt b/app/src/main/java/com/tangem/tap/common/analytics/AnalyticsEvent.kt index 5099d3e1cd..90ff7d7f3b 100644 --- a/app/src/main/java/com/tangem/tap/common/analytics/AnalyticsEvent.kt +++ b/app/src/main/java/com/tangem/tap/common/analytics/AnalyticsEvent.kt @@ -4,6 +4,7 @@ enum class AnalyticsEvent(val event: String) { CARD_IS_SCANNED("card_is_scanned"), TRANSACTION_IS_SENT("transaction_is_sent"), READY_TO_SCAN("ready_to_scan"), + DEMO_MODE_ACTIVATED("demo_mode_activated"), APP_RATING_DISPLAYED("rate_app_warning_displayed"), APP_RATING_DISMISS("dismiss_rate_app_warning"), @@ -20,6 +21,7 @@ enum class AnalyticsEvent(val event: String) { enum class AnalyticsParam(val param: String) { BLOCKCHAIN("blockchain"), + CARD_ID("cardId"), BATCH_ID("batch_id"), FIRMWARE("firmware"), ACTION("action"), diff --git a/app/src/main/java/com/tangem/tap/domain/TangemSdkManager.kt b/app/src/main/java/com/tangem/tap/domain/TangemSdkManager.kt index bb104a4c80..d4ac60c730 100644 --- a/app/src/main/java/com/tangem/tap/domain/TangemSdkManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/TangemSdkManager.kt @@ -26,11 +26,13 @@ import com.tangem.operations.pins.SetUserCodeCommand import com.tangem.tap.common.analytics.Analytics import com.tangem.tap.common.analytics.AnalyticsEvent import com.tangem.tap.common.analytics.AnalyticsHandler +import com.tangem.tap.common.analytics.AnalyticsParam import com.tangem.tap.domain.tasks.CreateWalletAndRescanTask import com.tangem.tap.domain.tasks.product.ResetToFactorySettingsTask import com.tangem.tap.domain.tasks.product.ScanProductTask import com.tangem.tap.domain.tasks.product.ScanResponse import com.tangem.tap.domain.tokens.CurrenciesRepository +import com.tangem.tap.features.demo.DemoHelper import com.tangem.wallet.R import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.isActive @@ -70,12 +72,21 @@ class TangemSdkManager(private val tangemSdk: TangemSdk, private val context: Co result: CompletionResult ) { when (result) { - is CompletionResult.Success -> + is CompletionResult.Success -> { analyticsHandler?.triggerEvent( event = AnalyticsEvent.CARD_IS_SCANNED, card = result.data.card, blockchain = result.data.walletData?.blockchain ) + if (DemoHelper.isDemoCard(result.data)) { + analyticsHandler?.triggerEvent( + event = AnalyticsEvent.DEMO_MODE_ACTIVATED, + card = result.data.card, + blockchain = result.data.walletData?.blockchain, + params = mapOf(AnalyticsParam.CARD_ID.param to result.data.card.cardId) + ) + } + } is CompletionResult.Failure -> (result.error as? TangemSdkError)?.let { error -> analyticsHandler?.logCardSdkError( diff --git a/app/src/main/java/com/tangem/tap/features/demo/Extentions.kt b/app/src/main/java/com/tangem/tap/features/demo/Extentions.kt index f32c079efc..a863282f6d 100644 --- a/app/src/main/java/com/tangem/tap/features/demo/Extentions.kt +++ b/app/src/main/java/com/tangem/tap/features/demo/Extentions.kt @@ -1,6 +1,5 @@ package com.tangem.tap.features.demo -import com.tangem.blockchain.common.Wallet import com.tangem.blockchain.common.WalletManager import com.tangem.tap.domain.tasks.product.ScanResponse @@ -8,5 +7,4 @@ import com.tangem.tap.domain.tasks.product.ScanResponse [REDACTED_AUTHOR] */ fun ScanResponse.isDemoCard(): Boolean = DemoHelper.isDemoCardId(card.cardId) -fun WalletManager.isDemoWallet(): Boolean = DemoHelper.isDemoCardId(wallet.cardId) -fun Wallet.isDemoWallet(): Boolean = DemoHelper.isDemoCardId(cardId) \ No newline at end of file +fun WalletManager.isDemoWallet(): Boolean = DemoHelper.isDemoCardId(wallet.cardId) \ No newline at end of file