Catch up on everthing we announced at this year's Firebase Summit. Learn more

Android पर इंस्टालेशन और सेटअप

अपने ऐप को फायरबेस से कनेक्ट करें

आप पहले से ही नहीं है, तो अपने Android परियोजना के लिए Firebase जोड़ने

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

  1. नेविगेट की रीयलटाइम डाटाबेस अनुभाग के लिए Firebase कंसोल । आपको किसी मौजूदा Firebase प्रोजेक्ट को चुनने के लिए कहा जाएगा. डेटाबेस निर्माण कार्यप्रवाह का पालन करें।

  2. अपने फायरबेस सुरक्षा नियमों के लिए एक प्रारंभिक मोड चुनें:

    परीक्षण विधि

    मोबाइल और वेब क्लाइंट लाइब्रेरी के साथ शुरुआत करने के लिए अच्छा है, लेकिन किसी को भी आपके डेटा को पढ़ने और ओवरराइट करने की अनुमति देता है। परीक्षण के बाद, समीक्षा करना सुनिश्चित करें समझे Firebase रीयलटाइम डाटाबेस नियम अनुभाग।

    वेब, ऐप्पल, या एंड्रॉइड एसडीके के साथ आरंभ करने के लिए, टेस्टमोड का चयन करें।

    बंद मोड

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

  3. डेटाबेस के लिए एक क्षेत्र चुनें। क्षेत्र के अपनी पसंद के आधार पर, डेटाबेस नाम स्थान फार्म के लिए किया जाएगा <databaseName>.firebaseio.com या <databaseName>.<region>.firebasedatabase.app । अधिक जानकारी के लिए, अपनी परियोजना के लिए चुनिंदा स्थानों

  4. पूर्ण क्लिक करें।

जब आप रीयलटाइम डाटाबेस सक्षम है, यह भी में एपीआई के लिए सक्षम बनाता बादल एपीआई प्रबंधक

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

का उपयोग करते हुए Firebase एंड्रॉयड बीओएम , अपने मॉड्यूल (एप्लिकेशन-स्तरीय) Gradle फ़ाइल (आमतौर पर में रीयलटाइम डाटाबेस एंड्रॉयड पुस्तकालय के लिए निर्भरता की घोषणा app/build.gradle )।

जावा

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

    // Declare 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 एंड्रॉयड बीओएम , अपने अनुप्रयोग हमेशा Firebase एंड्रॉयड पुस्तकालयों के संगत संस्करणों का प्रयोग करेंगे।

(वैकल्पिक) बीओएम का उपयोग किए बिना Firebase पुस्तकालय निर्भरता घोषित

यदि आप फायरबेस बीओएम का उपयोग नहीं करना चुनते हैं, तो आपको प्रत्येक फायरबेस लाइब्रेरी संस्करण को उसकी निर्भरता रेखा में निर्दिष्ट करना होगा।

ध्यान दें कि अगर आप अपने एप्लिकेशन में एकाधिक Firebase पुस्तकालयों का उपयोग, हम अत्यधिक पुस्तकालय संस्करणों, जो सुनिश्चित करता है कि सभी संस्करणों के संगत हैं का प्रबंधन करने के बीओएम का उपयोग करें।

dependencies {
    // Declare 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:20.0.3'
}

कोटलिन + केटीएक्स

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

    // Declare 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-ktx'
}

का उपयोग करके Firebase एंड्रॉयड बीओएम , अपने अनुप्रयोग हमेशा Firebase एंड्रॉयड पुस्तकालयों के संगत संस्करणों का प्रयोग करेंगे।

(वैकल्पिक) बीओएम का उपयोग किए बिना Firebase पुस्तकालय निर्भरता घोषित

यदि आप फायरबेस बीओएम का उपयोग नहीं करना चुनते हैं, तो आपको प्रत्येक फायरबेस लाइब्रेरी संस्करण को उसकी निर्भरता रेखा में निर्दिष्ट करना होगा।

ध्यान दें कि अगर आप अपने एप्लिकेशन में एकाधिक Firebase पुस्तकालयों का उपयोग, हम अत्यधिक पुस्तकालय संस्करणों, जो सुनिश्चित करता है कि सभी संस्करणों के संगत हैं का प्रबंधन करने के बीओएम का उपयोग करें।

dependencies {
    // Declare 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-ktx:20.0.3'
}

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

रीयलटाइम डेटाबेस एक घोषणात्मक नियम भाषा प्रदान करता है जो आपको यह परिभाषित करने की अनुमति देता है कि आपके डेटा को कैसे संरचित किया जाना चाहिए, इसे कैसे अनुक्रमित किया जाना चाहिए, और आपके डेटा को कब से पढ़ा और लिखा जा सकता है।

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

का उपयोग कर अपने डेटाबेस का एक उदाहरण पुनः प्राप्त getInstance() और स्थान आप के लिए लिखना चाहते हैं के संदर्भ हैं।

जावा

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

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

कोटलिन + केटीएक्स

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

myRef.setValue("Hello, World!")

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

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

वास्तविक समय में अपने एप्लिकेशन डेटा अद्यतन करने के लिए, आप एक जोड़ने चाहिए ValueEventListener संदर्भ आपने अभी बनाया है।

onDataChange() इस वर्ग में विधि शुरू हो रहा है एक बार जब श्रोता हर बार जुड़ा हुआ है और फिर बच्चों सहित डाटा परिवर्तन,।

जावा

// Read from the database
myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(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(DatabaseError error) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException());
    }
});

कोटलिन + केटीएक्स

// 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())
    }
})

वैकल्पिक: प्रोगार्ड कॉन्फ़िगर करें

प्रोगार्ड के साथ अपने ऐप में फायरबेस रीयलटाइम डेटाबेस का उपयोग करते समय, आपको यह विचार करने की आवश्यकता है कि आपके मॉडल ऑब्जेक्ट्स को कैसे क्रमबद्ध किया जाएगा और अस्पष्टता के बाद deserialized किया जाएगा। आप का उपयोग करते हैं 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 समुदाय फ़ोरम का एक विशेषज्ञ से सहायता प्राप्त करने के लिए।

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

आपके एप्लिकेशन को लॉन्च करने से पहले, हम हमारे के माध्यम से चलने की सलाह देते हैं लांच चेकलिस्ट अपने अनुप्रयोग जाने के लिए तैयार है सुनिश्चित करने के लिए!

सक्षम करना सुनिश्चित करें अनुप्रयोग चेक सुनिश्चित करना है कि केवल आपके ऐप्लिकेशन आपके डेटाबेस का उपयोग कर सकते हैं मदद करने के लिए।

अगला कदम