File tree Expand file tree Collapse file tree 8 files changed +32
-1
lines changed
androidMain/kotlin/dev/gitlive/firebase/analytics
commonMain/kotlin/dev/gitlive/firebase/analytics
commonTest/kotlin/dev/gitlive/firebase/analytics
iosMain/kotlin/dev/gitlive/firebase/analytics
jsMain/kotlin/dev/gitlive/firebase/analytics
jsTest/kotlin/dev/gitlive/firebase/analytics
jvmMain/kotlin/dev/gitlive/firebase/analytics Expand file tree Collapse file tree 8 files changed +32
-1
lines changed Original file line number Diff line number Diff line change @@ -9,12 +9,16 @@ import android.util.SizeF
9
9
import com.google.firebase.analytics.analytics
10
10
import com.google.firebase.analytics.setConsent
11
11
import dev.gitlive.firebase.Firebase
12
+ import dev.gitlive.firebase.FirebaseApp
12
13
import kotlinx.coroutines.tasks.await
13
14
import java.io.Serializable
14
15
15
16
actual val Firebase .analytics: FirebaseAnalytics
16
17
get() = FirebaseAnalytics (com.google.firebase.Firebase .analytics)
17
18
19
+ actual fun Firebase.analytics (app : FirebaseApp ) =
20
+ FirebaseAnalytics (com.google.firebase.Firebase .analytics)
21
+
18
22
actual class FirebaseAnalytics (val android : com.google.firebase.analytics.FirebaseAnalytics ) {
19
23
actual fun logEvent (name : String , parameters : Map <String , Any >? ) {
20
24
android.logEvent(name, parameters?.toBundle())
Original file line number Diff line number Diff line change 1
1
package dev.gitlive.firebase.analytics
2
2
3
3
import dev.gitlive.firebase.Firebase
4
+ import dev.gitlive.firebase.FirebaseApp
4
5
5
6
expect val Firebase .analytics: FirebaseAnalytics
6
7
8
+ /* * Returns the [FirebaseStorage] instance of a given [FirebaseApp]. */
9
+ expect fun Firebase.analytics (app : FirebaseApp ): FirebaseAnalytics
10
+
7
11
expect class FirebaseAnalytics {
8
12
fun logEvent (name : String , parameters : Map <String , Any >? = null)
9
13
fun setUserProperty (name : String , value : String )
Original file line number Diff line number Diff line change @@ -37,7 +37,7 @@ class FirebaseAnalyticsTest {
37
37
)
38
38
)
39
39
40
- analytics = Firebase .analytics
40
+ analytics = Firebase .analytics(app)
41
41
}
42
42
43
43
@AfterTest
Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ package dev.gitlive.firebase.analytics
3
3
import cocoapods.FirebaseAnalytics.FIRAnalytics
4
4
import cocoapods.FirebaseAnalytics.setConsent
5
5
import dev.gitlive.firebase.Firebase
6
+ import dev.gitlive.firebase.FirebaseApp
6
7
import dev.gitlive.firebase.FirebaseException
7
8
import kotlinx.coroutines.CompletableDeferred
8
9
import platform.Foundation.NSError
@@ -11,6 +12,8 @@ import platform.Foundation.NSTimeInterval
11
12
actual val Firebase .analytics: FirebaseAnalytics
12
13
get() = FirebaseAnalytics (FIRAnalytics )
13
14
15
+ actual fun Firebase.analytics (app : FirebaseApp ): FirebaseAnalytics = FirebaseAnalytics (FIRAnalytics )
16
+
14
17
actual class FirebaseAnalytics (val ios : FIRAnalytics .Companion ) {
15
18
actual fun logEvent (name : String , parameters : Map <String , Any >? ) {
16
19
val mappedParameters: Map <Any ?, Any >? = parameters?.map { it.key to it.value }?.toMap()
Original file line number Diff line number Diff line change 1
1
package dev.gitlive.firebase.analytics
2
2
3
3
import dev.gitlive.firebase.Firebase
4
+ import dev.gitlive.firebase.FirebaseApp
4
5
import dev.gitlive.firebase.FirebaseException
5
6
import dev.gitlive.firebase.analytics.externals.getAnalytics
6
7
import kotlinx.coroutines.await
7
8
8
9
actual val Firebase .analytics: FirebaseAnalytics
9
10
get() = FirebaseAnalytics (getAnalytics())
10
11
12
+ actual fun Firebase.analytics (app : FirebaseApp ) =
13
+ FirebaseAnalytics (getAnalytics(app.js))
14
+
11
15
actual class FirebaseAnalytics (val js : dev.gitlive.firebase.analytics.externals.FirebaseAnalytics ) {
12
16
actual fun logEvent (
13
17
name : String ,
Original file line number Diff line number Diff line change
1
+ @file:JsModule(" firebase/analytics" )
2
+ @file:JsNonModule
3
+
1
4
package dev.gitlive.firebase.analytics.externals
2
5
3
6
import dev.gitlive.firebase.externals.FirebaseApp
Original file line number Diff line number Diff line change
1
+ package dev.gitlive.firebase.analytics
2
+
3
+ actual val emulatorHost: String = " 10.0.2.2"
4
+
5
+ actual val context: Any = Unit
6
+
7
+ @Target(AnnotationTarget .CLASS , AnnotationTarget .FUNCTION )
8
+ actual annotation class IgnoreForAndroidUnitTest
Original file line number Diff line number Diff line change 1
1
package dev.gitlive.firebase.analytics
2
2
3
3
import dev.gitlive.firebase.Firebase
4
+ import dev.gitlive.firebase.FirebaseApp
4
5
import dev.gitlive.firebase.FirebaseException
5
6
6
7
actual val Firebase .analytics: FirebaseAnalytics
7
8
get() = TODO (" Not yet implemented" )
8
9
10
+ actual fun Firebase.analytics (app : FirebaseApp ): FirebaseAnalytics {
11
+ TODO (" Not yetimplemented" )
12
+ }
13
+
9
14
actual class FirebaseAnalytics {
10
15
actual fun setUserProperty (name : String , value : String ) {}
11
16
actual fun setUserId (id : String ) {}
You can’t perform that action at this time.
0 commit comments