Kotlin 与 Java 中的 Firebase 分析初始化

Posted

技术标签:

【中文标题】Kotlin 与 Java 中的 Firebase 分析初始化【英文标题】:Firebase Analytics initialization in Kotlin vs Java 【发布时间】:2021-07-20 14:05:09 【问题描述】:

我想知道为什么在 Kotlin 中初始化 Firebase Analytics 不需要上下文,而 Java 却需要?

来自文档:

Java:
mFirebaseAnalytics = FirebaseAnalytics.getInstance(context);

Kotlin:
firebaseAnalytics = Firebase.analytics

【问题讨论】:

和JAVA一样 【参考方案1】:

Kotlin 版本是一个扩展属性。根据docs:

@NonNull static fun getInstance(@NonNull context: Context): FirebaseAnalytics

返回单例 FirebaseAnalytics 接口。


analytics,这是一个扩展属性:

val Firebase.analytics:FirebaseAnalytics

返回默认 FirebaseApp 的 FirebaseAnalytics 实例。

【讨论】:

在我自己的类记录器中使用 Kotlin 版本可以吗?我的意思是,我有两个选项来创建我的 util 类来记录分析事件: 1. 传递上下文并使用 getInstance(); 2. 只使用 Kotlin 版本。第二种方法有什么问题吗? 是的,如果您已经在应用程序中使用 Kotlin,那么只需使用扩展 firebase 库

以上是关于Kotlin 与 Java 中的 Firebase 分析初始化的主要内容,如果未能解决你的问题,请参考以下文章

使用 firebase 未显示回收站视图 - kotlin

Firebase @Exclude 与 kotlin 数据类

Firebase:在 Kotlin/Java 中使用枚举字段的干净方式?

Android 中的 Firebase 通知 (Kotlin)

如何根据 Kotlin 中的键值从 firebase 读取数据

使用 KOTLIN 从 firebase 检索数据时出错