Updated on 2026-08-14

This commit is contained in:
Tangem 2024-08-26 17:36:47 +03:00
parent f2bf27ee5f
commit 3e79411138
7 changed files with 62 additions and 1 deletions

View file

@ -0,0 +1,24 @@
package com.tangem.tap.common.analytics.handlers.firebase
import com.google.firebase.analytics.ktx.analytics
import com.google.firebase.ktx.Firebase
import com.tangem.core.analytics.AppInstanceIdProvider
import kotlinx.coroutines.suspendCancellableCoroutine
import timber.log.Timber
import kotlin.coroutines.resume
internal class FirebaseAppInstanceIdProvider : AppInstanceIdProvider {
override suspend fun getAppInstanceId(): String? = suspendCancellableCoroutine { continuation ->
Firebase.analytics.appInstanceId
.addOnSuccessListener { continuation.resume(it) }
.addOnFailureListener {
Timber.w("Fail to get appInstanceId")
continuation.resume(null)
}
}
override fun getAppInstanceIdSync(): String? {
return Firebase.analytics.appInstanceId.result
}
}

View file

@ -1,9 +1,11 @@
package com.tangem.tap.di.analytics
import com.tangem.core.analytics.AppInstanceIdProvider
import com.tangem.core.analytics.utils.AnalyticsContextProxy
import com.tangem.domain.analytics.ChangeCardAnalyticsContextUseCase
import com.tangem.tap.common.analytics.DefaultAnalyticsContextProxy
import com.tangem.tap.common.analytics.DefaultChangeCardAnalyticsContextUseCase
import com.tangem.tap.common.analytics.handlers.firebase.FirebaseAppInstanceIdProvider
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
@ -23,4 +25,8 @@ internal object AnalyticsModule {
@Provides
@Singleton
fun provideAnalyticsContextProxy(): AnalyticsContextProxy = DefaultAnalyticsContextProxy()
@Provides
@Singleton
fun provideAppInstanceIdProvider(): AppInstanceIdProvider = FirebaseAppInstanceIdProvider()
}