改用在主模組中使用 Kotlin 擴充功能 (KTX) API

Firebase 對 Kotlin 的投入程度越來越高,我們正努力翻新。 提高 Android 生態系統的無障礙程度和使用便利性 Firebase。

為完成這項翻新作業,我們進行了幾項變更 Firebase SDK for Android。本網頁將說明 變更,包括:


瞭解如何遷移應用程式

異動內容

Kotlin 擴充功能 (KTX) API 已新增至相應的主控中心 模組。舉例來說,所有來自 firebase-perf-ktx 的 API 都新增至 com.google.firebase.perf 套件下的 firebase-perf

這項變更表示 Kotlin 開發人員現在可以依附主要模組 而非 KTX 模組 (當使用 Firebase BoM v32.5.0+ 或 BoM v32.5.0+ 中列出的主要模組版本)。

本次變更中,每個 KTX 模組中的 Kotlin 擴充功能 (KTX) API 都含有 現已淘汰自 2024 年 4 月起,我們將不再發布 KTX 模組。 屆時,我們也會從 Firebase Android BoM 中移除 KTX 程式庫。

我們進行這項異動的原因為何?

Firebase 致力於 優先使用 Kotlin 打造適合 Android 開發人員的生態系統這個封裝翻新 以下優點:

  • 簡化依附元件管理:現在,您只需要依附於 而無需在主要模組與 Kotlin 之間切換 或是兩者都依賴

  • 強化 Kotlin 支援:現在,所有適用於 Android 的 Firebase SDK 為 Kotlin 提供更完善的支援我們將納入所有支援 Kotlin 的新 直接在主要模組中整合所有功能

這項異動的重要日期

2023 年 10 月

Kotlin 擴充功能 (KTX) API 已新增至各自的主要模組 這表示您現在可以直接從主模組使用 KTX API 使用 Firebase BoM v32.5.0+ 或 BoM v32.5.0+ 中列出的主要模組版本。

與此同時,KTX 模組中的 Kotlin 擴充功能 (KTX) API 通過了 已不適用 (請參閱 說明這項特性的版本資訊 變更)。活動期間 已淘汰的階段 但 KTX 模組中已淘汰的 API 將繼續運作, 例如:

最早從 2024 年 4 月開始

我們會停止發布新版本的 KTX 模組,並移除 Firebase BoM 的 KTX 模組。

任何先前發布的 KTX 模組或 BoM 版本 函式,但會在 且無須進行維護。 這表示我們將停止新增錯誤修正、回溯相容的變更,以及 以下是 KTX 模組的新功能日後 Firebase 的所有開發作業,都是在 Android 會在主要模組中完成 (適用於 Java 和 Kotlin)。

如何從主模組改用 KTX API

如果您使用 Kotlin 擴充功能 (KTX) API,請在應用程式中進行下列更新 開始使用主模組 (而非 KTX 模組) 中的 API。

  1. 修改 Gradle 依附元件,使其依附主要模組 。舉例來說,如果您使用 Firebase Android BoM (建議)

    更新前

    dependencies {
      // ...
    
      // Import the Firebase BoM
      implementation(platform("com.google.firebase:firebase-bom:33.1.2"))
    
      // Using KTX libraries for Authentication and Cloud Firestore
      implementation("com.google.firebase:firebase-auth-ktx")
      implementation("com.google.firebase:firebase-firestore-ktx")
    }
    

    更新後

    dependencies {
      // ...
    
      // Import the Firebase BoM as usual
      // Make sure to use Firebase BoM v32.5.0 or higher
      implementation(platform("com.google.firebase:firebase-bom:33.1.2"))
    
      // No need to use the KTX libraries, everything is now in the main module
      implementation("com.google.firebase:firebase-auth")
      implementation("com.google.firebase:firebase-firestore")
    }
    


  2. 更新程式碼,將所有出現的 KTX API 替換為 已移至 com.google.firebase 套件下主模組中的 API。

    更新前

    import com.google.firebase.auth.ktx.auth
    import com.google.firebase.firestore.ktx.firestore
    import com.google.firebase.firestore.ktx.toObject
    import com.google.firebase.ktx.Firebase
    

    更新後

    import com.google.firebase.auth.auth
    import com.google.firebase.firestore.firestore
    import com.google.firebase.firestore.toObject
    import com.google.firebase.Firebase