अपने ऐप्लिकेशन को Firebase से कनेक्ट करें

अगर आपने अब तक ऐसा नहीं किया है, तो अपने Android प्रोजेक्ट में Firebase जोड़ें.

डेटाबेस बनाएं

  1. इसके रीयलटाइम डेटाबेस सेक्शन पर जाएं: Firebase कंसोल. आपसे कोई मौजूदा Firebase प्रोजेक्ट चुनने के लिए कहा जाएगा. डेटाबेस बनाने के वर्कफ़्लो को फ़ॉलो करें.

  2. अपने Firebase के सुरक्षा नियमों के लिए कोई शुरुआती मोड चुनें:

    टेस्ट मोड

    यह मोबाइल और वेब क्लाइंट लाइब्रेरी का इस्तेमाल शुरू करने के लिए सही है, हालांकि, इसकी मदद से कोई भी व्यक्ति आपके डेटा को पढ़ सकता है और उसमें बदलाव कर सकता है. परीक्षण के बाद, अपने Firebase रीयल टाइम डेटाबेस के नियमों को समझें को ज़रूर पढ़ें सेक्शन देखें.

    वेब, Apple या Android SDK का इस्तेमाल शुरू करने के लिए, testmode चुनें.

    लॉक मोड

    मोबाइल और वेब क्लाइंट के किसी भी तरह के पढ़े और लिखे गए कॉन्टेंट को अस्वीकार करता है. आपके पुष्टि किए गए ऐप्लिकेशन सर्वर अब भी आपके डेटाबेस को ऐक्सेस कर सकते हैं.

  3. डेटाबेस के लिए कोई जगह चुनें.

    इसके आधार पर डेटाबेस की जगह की जानकारी, नए डेटाबेस के लिए यूआरएल इनमें से किसी एक फ़ॉर्मैट में होगा:

    • DATABASE_NAME.firebaseio.com (इसके लिए us-central1 में डेटाबेस)

    • DATABASE_NAME.REGION.firebasedatabase.app (अन्य सभी जगहों के डेटाबेस के लिए)

  4. हो गया पर क्लिक करें.

जब आप रीयलटाइम डेटाबेस को चालू करते हैं, तो यह एपीआई को Cloud API मैनेजर.

अपने ऐप्लिकेशन में रीयलटाइम डेटाबेस SDK टूल जोड़ना

आपके मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल में (आम तौर पर <project>/<app-module>/build.gradle.kts या <project>/<app-module>/build.gradle), Android के लिए रीयलटाइम डेटाबेस लाइब्रेरी के लिए डिपेंडेंसी जोड़ें. हमारा सुझाव है कि Firebase Android बीओएम लाइब्रेरी के वर्शन को कंट्रोल करने के लिए.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.1.2"))

    // Add the dependency for the Realtime Database library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-database")
}

Firebase Android BoM का इस्तेमाल करके, आपका ऐप्लिकेशन हमेशा Firebase Android लाइब्रेरी के साथ काम करने वाले वर्शन का इस्तेमाल करेगा.

(वैकल्पिक) BoM का इस्तेमाल किए बिना Firebase लाइब्रेरी डिपेंडेंसी जोड़ें

अगर आप Firebase BoM का इस्तेमाल नहीं करना चाहते हैं, तो आपको Firebase लाइब्रेरी का हर वर्शन बताना होगा इसकी डिपेंडेंसी लाइन में.

ध्यान दें कि अगर आप अपने ऐप्लिकेशन में कई Firebase लाइब्रेरी का इस्तेमाल करते हैं, तो हम लाइब्रेरी वर्शन को मैनेज करने के लिए BoM का इस्तेमाल करने की सलाह देते हैं. इससे यह पक्का होता है कि साथ काम करता है.

dependencies {
    // Add the dependency for the Realtime Database library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-database:21.0.0")
}
क्या आपको Kotlin से जुड़े लाइब्रेरी मॉड्यूल की तलाश है? इतने समय में शुरू होगा अक्टूबर 2023 (Firebase BoM 32.5.0) में, Kotlin और Java डेवलपर, दोनों मुख्य लाइब्रेरी मॉड्यूल पर निर्भर करते हैं (जानकारी के लिए, इस पहल के बारे में अक्सर पूछे जाने वाले सवाल).

रीयलटाइम डेटाबेस के सुरक्षा नियमों को कॉन्फ़िगर करें

रीयलटाइम डेटाबेस, जानकारी देने वाले नियमों की भाषा उपलब्ध कराता है. इससे आपको तय करें कि आपके डेटा की स्ट्रक्चर कैसी होनी चाहिए और उसकी इंडेक्स हो जाता है और आपके डेटा को कब से पढ़ा और लिखा जा सकता है.

अपने डेटाबेस में लिखें

getInstance() का इस्तेमाल करके अपने डेटाबेस का इंस्टेंस वापस पाएं उस स्थान का संदर्भ दें जिस पर आप लिखना चाहते हैं.

Kotlin+KTX

// Write a message to the database
val database = Firebase.database
val myRef = database.getReference("message")

myRef.setValue("Hello, World!")

Java

// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");

myRef.setValue("Hello, World!");

इस तरीके से डेटाबेस में कई तरह का डेटा सेव किया जा सकता है. इनमें Java भी शामिल है ऑब्जेक्ट हैं. जब आप कोई ऑब्जेक्ट सेव करते हैं, तो किसी भी गैटर से मिले जवाब इस तरह सेव किए जाएंगे इस जगह के बच्चे.

अपने डेटाबेस से पढ़ें

रीयल टाइम में अपने ऐप्लिकेशन का डेटा अपडेट करने के लिए, आपको ValueEventListener जिसे आपने अभी-अभी बनाया है.

इस क्लास में onDataChange() तरीका एक बार तब ट्रिगर होता है, जब लिसनर होता है साथ ही, डेटा में कोई बदलाव होने पर, इस अटैचमेंट को फिर से अटैच करें.

Kotlin+KTX

// Read from the database
myRef.addValueEventListener(object : ValueEventListener {
    override fun onDataChange(dataSnapshot: DataSnapshot) {
        // This method is called once with the initial value and again
        // whenever data at this location is updated.
        val value = dataSnapshot.getValue<String>()
        Log.d(TAG, "Value is: $value")
    }

    override fun onCancelled(error: DatabaseError) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException())
    }
})

Java

// Read from the database
myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        // This method is called once with the initial value and again
        // whenever data at this location is updated.
        String value = dataSnapshot.getValue(String.class);
        Log.d(TAG, "Value is: " + value);
    }

    @Override
    public void onCancelled(@NonNull DatabaseError error) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException());
    }
});

ज़रूरी नहीं: ProGuard को कॉन्फ़िगर करना

अपने ऐप्लिकेशन में ProGuard के साथ-साथ, Firebase रीयल टाइम डेटाबेस का इस्तेमाल करते समय, आपको ये काम करने होंगे इस बात पर विचार करें कि बाद में आपके मॉडल के ऑब्जेक्ट, क्रम से कैसे लगाए जाएंगे और अस्पष्ट बनाना. अगर आप DataSnapshot.getValue(Class) या डेटा को पढ़ने और उसमें बदलाव करने के लिए, आपको DatabaseReference.setValue(Object) proguard-rules.pro फ़ाइल में नियम जोड़ें:

    # Add this global rule
    -keepattributes Signature

    # This rule will properly ProGuard all the model classes in
    # the package com.yourcompany.models.
    # Modify this rule to fit the structure of your app.
    -keepclassmembers class com.yourcompany.models.** {
      *;
    }

ProGuard से जुड़े सवालों या समस्याओं के बारे में मदद पाने के लिए, यहां जाएं: Guardsquare कम्यूनिटी फ़ोरम पर जाएं.

लॉन्च की तैयारी करना

अपना ऐप्लिकेशन लॉन्च करने से पहले, हमारा सुझाव है कि आप हमारी लॉन्च चेकलिस्ट को पूरा करें, ताकि यह पक्का किया जा सके कि आपका ऐप्लिकेशन इस्तेमाल करने के लिए तैयार!

ऐप्लिकेशन जांच की सुविधा ज़रूर चालू करें, ताकि यह पक्का किया जा सके कि सिर्फ़ आपके ऐप्लिकेशन आपके डेटाबेस को ऐक्सेस कर सकते हैं.

अगले चरण