मुख्य मॉड्यूल में कोटलिन एक्सटेंशन (KTX) एपीआई का उपयोग करने के लिए माइग्रेट करें

फायरबेस कोटलिन के प्रति अपनी प्रतिबद्धता बढ़ा रहा है, और हम फायरबेस के साथ कोटलिन को अधिक सुलभ और उपयोग में आसान बनाने के लिए अपने एंड्रॉइड इकोसिस्टम को आधुनिक बनाने के लिए काम कर रहे हैं।

इस आधुनिकीकरण को पूरा करने के लिए, हम एंड्रॉइड के लिए अपने फायरबेस एसडीके में कुछ बदलाव कर रहे हैं। यह पृष्ठ इस परिवर्तन के बारे में महत्वपूर्ण जानकारी का वर्णन करता है, जिसमें शामिल हैं:

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

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

इस परिवर्तन का मतलब है कि कोटलिन डेवलपर्स अब KTX मॉड्यूल के बजाय मुख्य मॉड्यूल पर निर्भर हो सकते हैं ( फायरबेस BoM v32.4.0+ या BoM v32.4.0+ में सूचीबद्ध मुख्य मॉड्यूल संस्करणों का उपयोग करते समय)।

इस परिवर्तन के भाग के रूप में, प्रत्येक KTX मॉड्यूल में कोटलिन एक्सटेंशन (KTX) API अब अप्रचलित हैं। अप्रैल 2024 की शुरुआत में, हम KTX मॉड्यूल जारी नहीं करेंगे, और हम उस समय Firebase Android BoM से KTX लाइब्रेरी भी हटा देंगे।

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

फायरबेस एंड्रॉइड डेवलपर्स के लिए कोटलिन-प्रथम पारिस्थितिकी तंत्र के लिए प्रतिबद्ध है। यह पैकेजिंग आधुनिकीकरण निम्नलिखित लाभ प्रदान करता है:

  • सरलीकृत निर्भरता प्रबंधन: अब आपको केवल एक मॉड्यूल पर निर्भर रहना होगा, जिससे मुख्य मॉड्यूल और कोटलिन एक्सटेंशन के बीच स्विच करने या दोनों पर निर्भर रहने की आवश्यकता समाप्त हो जाएगी।

  • उन्नत कोटलिन समर्थन: एंड्रॉइड के लिए हमारे सभी फायरबेस एसडीके अब कोटलिन के लिए बेहतर समर्थन प्रदान करेंगे। हम सभी नई कोटलिन-अनुकूल सुविधाओं को सीधे अपने मुख्य मॉड्यूल में शामिल करेंगे।

इस परिवर्तन के लिए महत्वपूर्ण तिथियाँ

इस बदलाव के मील के पत्थर के बारे में जानें.

अक्टूबर 2023 में

कोटलिन एक्सटेंशन (केटीएक्स) एपीआई को उनके संबंधित मुख्य मॉड्यूल में जोड़ा गया था, और प्रत्येक केटीएक्स मॉड्यूल में कोटलिन एक्सटेंशन (केटीएक्स) एपीआई को हटा दिया गया था। इस परिवर्तन की घोषणा करने वाले रिलीज़ नोट देखें।

फायरबेस BoM v32.4.0+ या BoM v32.4.0+ में सूचीबद्ध मुख्य मॉड्यूल संस्करणों का उपयोग करते समय अब ​​आप मुख्य मॉड्यूल से सीधे KTX API का उपयोग कर सकते हैं।

इस अप्रचलित चरण के दौरान, KTX मॉड्यूल में अप्रचलित एपीआई कार्य करना और बनाए रखना जारी रखेंगे।

अप्रैल 2024 की शुरुआत में

हम KTX मॉड्यूल के नए संस्करण जारी करना बंद कर देंगे, और हम Firebase BoM से KTX मॉड्यूल हटा देंगे।

KTX मॉड्यूल या BoM का कोई भी पहले जारी किया गया संस्करण कार्य करना जारी रखेगा, लेकिन वे रखरखाव के अंत में प्रवेश करेंगे। इसका मतलब है कि हम KTX मॉड्यूल में बग फिक्स, बैकवर्ड-संगत परिवर्तन और नई सुविधाएँ जोड़ना बंद कर देंगे। इसके बजाय, एंड्रॉइड पर फायरबेस के लिए भविष्य के सभी विकास मुख्य मॉड्यूल (जावा और कोटलिन दोनों के लिए) में किए जाएंगे।

मुख्य मॉड्यूल से KTX API का उपयोग करने के लिए माइग्रेट कैसे करें

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

  1. KTX मॉड्यूल के बजाय मुख्य मॉड्यूल पर भरोसा करने के लिए अपनी ग्रैडल निर्भरता को संशोधित करें। उदाहरण के लिए, यदि आप फायरबेस एंड्रॉइड बीओएम (अनुशंसित) का उपयोग करते हैं:

    पहले

    dependencies {
      // ...
    
      // Import the Firebase BoM
      implementation(platform("com.google.firebase:firebase-bom:32.4.0"))
    
      // 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.4.0 or higher
      implementation(platform("com.google.firebase:firebase-bom:32.4.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")
    }
    


  2. com.google.firebase पैकेज के अंतर्गत मुख्य मॉड्यूल में स्थानांतरित एपीआई के साथ केटीएक्स एपीआई की सभी घटनाओं को बदलने के लिए अपने कोड को अपडेट करें।

    पहले

    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