Skip to content

Commit ac3d738

Browse files
authored
Integrate with FirebaseInstallations. (#4796)
1 parent 5e2a760 commit ac3d738

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

firebase-sessions/firebase-sessions.gradle.kts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,13 @@ android {
4444
dependencies {
4545
implementation("com.google.firebase:firebase-encoders:17.0.0")
4646
implementation(project(":encoders:firebase-encoders-json"))
47+
implementation("com.google.firebase:firebase-installations-interop:17.1.0")
4748
implementation("com.google.firebase:firebase-common-ktx:20.3.1")
4849
implementation("com.google.firebase:firebase-components:17.1.0")
4950
implementation(libs.androidx.annotation)
5051

52+
runtimeOnly("com.google.firebase:firebase-installations:17.1.3")
53+
5154
testImplementation(libs.androidx.test.junit)
5255
testImplementation(libs.androidx.test.runner)
5356
testImplementation(libs.junit)

firebase-sessions/src/main/kotlin/com/google/firebase/sessions/FirebaseSessions.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@ import android.app.Application
2020
import android.util.Log
2121
import androidx.annotation.Discouraged
2222
import com.google.firebase.FirebaseApp
23+
import com.google.firebase.installations.FirebaseInstallationsApi
2324
import com.google.firebase.ktx.Firebase
2425
import com.google.firebase.ktx.app
2526

26-
class FirebaseSessions internal constructor(firebaseApp: FirebaseApp) {
27+
class FirebaseSessions
28+
internal constructor(firebaseApp: FirebaseApp, firebaseInstallations: FirebaseInstallationsApi) {
2729
private val sessionGenerator = SessionGenerator(collectEvents = true)
2830

2931
init {
@@ -34,6 +36,7 @@ class FirebaseSessions internal constructor(firebaseApp: FirebaseApp) {
3436
} else {
3537
Log.w(TAG, "Failed to register lifecycle callbacks, unexpected context ${context.javaClass}.")
3638
}
39+
Log.i(TAG, "Firebase Installations ID: ${firebaseInstallations.id}")
3740
}
3841

3942
@Discouraged(message = "This will be replaced with a real API.")

firebase-sessions/src/main/kotlin/com/google/firebase/sessions/FirebaseSessionsRegistrar.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import com.google.firebase.FirebaseApp
1919
import com.google.firebase.components.Component
2020
import com.google.firebase.components.ComponentRegistrar
2121
import com.google.firebase.components.Dependency
22+
import com.google.firebase.installations.FirebaseInstallationsApi
2223
import com.google.firebase.platforminfo.LibraryVersionComponent
2324

2425
/**
@@ -33,7 +34,13 @@ internal class FirebaseSessionsRegistrar : ComponentRegistrar {
3334
Component.builder(FirebaseSessions::class.java)
3435
.name(LIBRARY_NAME)
3536
.add(Dependency.required(FirebaseApp::class.java))
36-
.factory { container -> FirebaseSessions(container.get(FirebaseApp::class.java)) }
37+
.add(Dependency.required(FirebaseInstallationsApi::class.java))
38+
.factory { container ->
39+
FirebaseSessions(
40+
container.get(FirebaseApp::class.java),
41+
container.get(FirebaseInstallationsApi::class.java)
42+
)
43+
}
3744
.eagerInDefaultApp()
3845
.build(),
3946
LibraryVersionComponent.create(LIBRARY_NAME, BuildConfig.VERSION_NAME)

0 commit comments

Comments
 (0)