मुख्य मॉड्यूल में Kotlin एक्सटेंशन (KTX) API का इस्तेमाल करने के लिए माइग्रेट करें

Firebase, Kotlin के साथ अपनी ज़िम्मेदारी को बढ़ा रहा है. साथ ही, हम अपने Android नेटवर्क को आधुनिक बनाने पर काम कर रहे हैं, ताकि Kotlin को Firebase के साथ ज़्यादा आसानी से ऐक्सेस और इस्तेमाल किया जा सके.

इसे आधुनिक बनाने के लिए, हम Android के लिए Firebase SDK टूल में कुछ बदलाव कर रहे हैं. इस पेज पर, इस बदलाव के बारे में अहम जानकारी दी गई है. इसमें ये चीज़ें शामिल हैं:


अपने ऐप्लिकेशन को माइग्रेट करने का तरीका जानें

क्या बदलाव हो रहा है?

Kotlin एक्सटेंशन (KTX) एपीआई को उनके मुख्य मॉड्यूल में जोड़ दिया गया है. उदाहरण के लिए, firebase-perf-ktx के सभी एपीआई को com.google.firebase.perf पैकेज के तहत firebase-perf में जोड़ा गया है.

इस बदलाव का मतलब है कि Kotlin डेवलपर अब KTX मॉड्यूल के बजाय मुख्य मॉड्यूल पर भरोसा कर सकते हैं. ऐसा तब किया जा सकता है, जब Firebase BoM v32.5.0+ या BoM v32.5.0+ में दिए गए मुख्य मॉड्यूल के वर्शन का इस्तेमाल किया जा रहा हो.

इस बदलाव के तहत, अब हर KTX मॉड्यूल में Kotlin एक्सटेंशन (KTX) एपीआई का इस्तेमाल नहीं किया जा सकता. हम सितंबर 2024 से, KTX मॉड्यूल रिलीज़ नहीं करेंगे. साथ ही, उस समय Firebase Android BoM से KTX लाइब्रेरी भी हटा देंगे.

हम यह बदलाव क्यों कर रहे हैं?

Firebase, Android डेवलपर के लिए Kotlin-first नेटवर्क बनाने के लिए प्रतिबद्ध है. पैकेजिंग को आधुनिक बनाने से ये फ़ायदे मिलते हैं:

  • डिपेंडेंसी मैनेजमेंट को आसान बनाना: अब आपको सिर्फ़ एक मॉड्यूल पर निर्भर रहने की ज़रूरत है. इससे, मुख्य मॉड्यूल और Kotlin एक्सटेंशन के बीच स्विच करने या दोनों पर निर्भर रहने की ज़रूरत नहीं पड़ती.

  • Kotlin के लिए बेहतर सहायता: Android के लिए उपलब्ध हमारे सभी Firebase SDK टूल, अब Kotlin के लिए बेहतर सहायता देंगे. हम Kotlin के साथ काम करने वाली सभी नई सुविधाओं को सीधे अपने मुख्य मॉड्यूल में शामिल करेंगे.

इस बदलाव से जुड़ी अहम तारीखें

अक्टूबर 2023 में

Kotlin एक्सटेंशन (KTX) एपीआई को उनके मुख्य मॉड्यूल में जोड़ा गया था. इसका मतलब है कि अब Firebase BoM v32.5.0+ या BoM v32.5.0+ में दिए गए मुख्य मॉड्यूल के वर्शन का इस्तेमाल करते समय, सीधे मुख्य मॉड्यूल से KTX एपीआई का इस्तेमाल किया जा सकता है.

साथ ही, KTX मॉड्यूल में Kotlin एक्सटेंशन (KTX) एपीआई का इस्तेमाल बंद कर दिया गया है. इस बदलाव के बारे में बताने वाले रिलीज़ नोट देखें. बंद किए जाने के दौरान, KTX मॉड्यूल में बंद किए गए एपीआई काम करते रहेंगे और उनकी देखभाल की जाएगी.

सितंबर 2024 से

हम KTX मॉड्यूल के नए वर्शन रिलीज़ करना बंद कर देंगे. साथ ही, हम Firebase BoM से KTX मॉड्यूल हटा देंगे.

KTX मॉड्यूल या BoM का कोई भी पिछला वर्शन काम करता रहेगा. हालांकि, वे मेंटेनेंस के खत्म होने की स्थिति में आ जाएंगे. इसका मतलब है कि हम KTX मॉड्यूल में गड़बड़ियों को ठीक करने, पुराने वर्शन के साथ काम करने वाले बदलावों, और नई सुविधाओं को जोड़ना बंद कर देंगे. इसके बजाय, Android पर Firebase के लिए आने वाले समय में होने वाला सारा डेवलपमेंट, मुख्य मॉड्यूल में किया जाएगा. यह डेवलपमेंट, Java और Kotlin, दोनों के लिए किया जाएगा.

मुख्य मॉड्यूल से KTX एपीआई का इस्तेमाल करने के लिए माइग्रेट करने का तरीका

अगर आपने Kotlin एक्सटेंशन (KTX) एपीआई का इस्तेमाल किया है, तो अपने ऐप्लिकेशन में ये अपडेट करें. इससे, KTX मॉड्यूल के बजाय मुख्य मॉड्यूल से एपीआई का इस्तेमाल शुरू किया जा सकेगा.

  1. अपनी Gradle डिपेंडेंसी में बदलाव करें, ताकि वे KTX मॉड्यूल के बजाय मुख्य मॉड्यूल पर निर्भर हों. उदाहरण के लिए, अगर Firebase Android BoM (सुझाया गया) का इस्तेमाल किया जाता है, तो:

    पहले

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

    AFTER

    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.10.0"))
    
      // 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")
    }

    पहले

    dependencies {
      // ...
    
      // Using KTX libraries for Authentication and Cloud Firestore
      implementation("com.google.firebase:firebase-auth-ktx:23.2.0")
      implementation("com.google.firebase:firebase-firestore-ktx:25.1.2")
    }

    AFTER

    dependencies {
      // ...
    
      // No need to use the KTX libraries, everything is now in the main module
      // Make sure to use a version listed in Firebase BoM v32.5.0 or higher
      implementation("com.google.firebase:firebase-auth:23.2.0")
      implementation("com.google.firebase:firebase-firestore:25.1.2")
    }


  2. अपना कोड अपडेट करें, ताकि com.google.firebase पैकेज के मुख्य मॉड्यूल में, KTX एपीआई के सभी उदाहरणों को, फिर से जगह बदले गए एपीआई से बदला जा सके.

    पहले

    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

    AFTER

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