From c703edde8ee28a896cf3b98c7036b21a1ecc7381 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 13 Jan 2026 07:31:15 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../appsflyer/AppsFlyerAnalyticsClient.kt | 19 +++++++++++++++---- .../appsflyer/AppsFlyerAnalyticsHandler.kt | 13 +++++++++++++ 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/common/analytics/handlers/appsflyer/AppsFlyerAnalyticsClient.kt b/app/src/main/java/com/tangem/tap/common/analytics/handlers/appsflyer/AppsFlyerAnalyticsClient.kt index 4638a88856..231660ff27 100644 --- a/app/src/main/java/com/tangem/tap/common/analytics/handlers/appsflyer/AppsFlyerAnalyticsClient.kt +++ b/app/src/main/java/com/tangem/tap/common/analytics/handlers/appsflyer/AppsFlyerAnalyticsClient.kt @@ -30,10 +30,18 @@ internal class AppsFlyerClient( init { val conversionListener = object : AppsFlyerConversionListener { - override fun onConversionDataSuccess(p0: Map?) {} - override fun onConversionDataFail(p0: String?) {} - override fun onAppOpenAttribution(p0: Map?) {} - override fun onAttributionFailure(p0: String?) {} + override fun onConversionDataSuccess(p0: Map?) { + Timber.i("AppsFlyer conversion data success: ${p0.orEmpty()}") + } + override fun onConversionDataFail(p0: String?) { + Timber.e("AppsFlyer conversion data failure: ${p0.orEmpty()}") + } + override fun onAppOpenAttribution(p0: Map?) { + Timber.i("AppsFlyer app open attribution: ${p0.orEmpty()}") + } + override fun onAttributionFailure(p0: String?) { + Timber.e("AppsFlyer attribution failure: ${p0.orEmpty()}") + } } appsFlyerLib.run { @@ -41,6 +49,7 @@ internal class AppsFlyerClient( setDebugLog(true) init(key, conversionListener, context) + Timber.i("Starting AppsFlyer SDK") start(context, key, object : AppsFlyerRequestListener { override fun onSuccess() { Timber.i("AppsFlyer initialized successfully") @@ -50,6 +59,7 @@ internal class AppsFlyerClient( Timber.e("AppsFlyer initialization error: $p0, $p1") } }) + Timber.i("AppsFlyer SDK started") } } @@ -62,6 +72,7 @@ internal class AppsFlyerClient( } override fun logEvent(event: String, params: Map) { + Timber.tag("AppsFlyer").i("Logging event: $event with params: $params") appsFlyerLib.logEvent( context, event, 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 cda56807ee..14a35c89cd 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 @@ -6,19 +6,26 @@ import com.tangem.core.analytics.models.AnalyticsEvent import com.tangem.core.analytics.models.AppsFlyerIncludedEvent import com.tangem.core.analytics.models.AppsFlyerOnlyEvent import com.tangem.tap.common.analytics.api.AnalyticsHandlerBuilder +import timber.log.Timber class AppsFlyerAnalyticsHandler( private val client: AppsFlyerAnalyticsClient, ) : AnalyticsHandler, AnalyticsUserIdHandler { + init { + Timber.tag("AppsFlyer").i("AppsFlyer Analytics Handler created") + } + override fun id(): String = ID override fun send(event: AnalyticsEvent) { when (event) { is AppsFlyerOnlyEvent -> { + Timber.tag("AppsFlyer").i("Sending event to AppsFlyer: ${event.id} with params: ${event.params}") client.logEvent(event.id, event.params) } is AppsFlyerIncludedEvent -> { + Timber.tag("AppsFlyer").i("Sending event to AppsFlyer: ${event.id} with params: ${event.params}") client.logEvent( event = AnalyticsEvent(category = event.category, event = event.appsFlyerReplacedEvent).id, params = event.params, @@ -40,10 +47,16 @@ class AppsFlyerAnalyticsHandler( } class Builder : AnalyticsHandlerBuilder { + init { + Timber.tag("AppsFlyer").i("AppsFlyer Analytics Handler Builder created") + } + override fun build(data: AnalyticsHandlerBuilder.Data): AnalyticsHandler = AppsFlyerAnalyticsHandler( client = if (data.logConfig.isAppsflyerLogEnabled) { + Timber.tag("AppsFlyer").i("AppsFlyer log enabled, mock client created") AppsFlyerLogClient(data.jsonConverter) } else { + Timber.tag("AppsFlyer").i("AppsFlyer log disabled, real client created") AppsFlyerClient(data.application, data.config.appsFlyerApiKey) }, )