Updated on 2026-08-14

This commit is contained in:
Tangem 2020-10-28 10:52:41 +03:00
parent 20f7a7ab0c
commit 195a3d6d7f
11 changed files with 73 additions and 15 deletions

View file

@ -0,0 +1,7 @@
package com.tangem.tap.common.analytics
enum class AnalyticsEvent(val event: String) {
CARD_IS_SCANNED("card_is_scanned"),
TRANSACTION_IS_SENT("transaction_is_sent"),
READY_TO_SCAN("ready_to_scan"),
}

View file

@ -0,0 +1,7 @@
package com.tangem.tap.common.analytics
import com.tangem.commands.Card
interface AnalyticsHandler {
fun triggerEvent(event: AnalyticsEvent, card: Card?)
}

View file

@ -0,0 +1,29 @@
package com.tangem.tap.common.analytics
import android.content.Context
import android.os.Bundle
import androidx.core.os.bundleOf
import com.google.firebase.analytics.FirebaseAnalytics
import com.tangem.commands.Card
class FirebaseAnalyticsHandler(private val context: Context): AnalyticsHandler {
override fun triggerEvent(event: AnalyticsEvent, card: Card?) {
FirebaseAnalytics.getInstance(context)
.logEvent(AnalyticsEvent.CARD_IS_SCANNED.event, setCardData(card))
}
private fun setCardData(card: Card?): Bundle {
if (card == null) return bundleOf()
return bundleOf(
AnalyticsParam.BLOCKCHAIN.param to card.cardData?.blockchainName,
AnalyticsParam.BATCH_ID.param to card.cardData?.batchId,
AnalyticsParam.FIRMWARE.param to card.firmwareVersion
)
}
private enum class AnalyticsParam(val param: String) {
BLOCKCHAIN("blockchain"),
BATCH_ID("batch_id"),
FIRMWARE("firmware"),
}
}