अगर आपने पहले से ऐसा नहीं किया है, तो अपने Android प्रोजेक्ट में Firebase जोड़ें.
डेटाबेस बनाएं
Firebase कंसोल के रीयल टाइम डेटाबेस सेक्शन पर जाएं. आपको मौजूदा Firebase प्रोजेक्ट चुनने के लिए कहा जाएगा. डेटाबेस बनाने के वर्कफ़्लो को फ़ॉलो करें.
अपने Firebase सुरक्षा नियमों के लिए शुरुआती मोड चुनें:
- टेस्ट मोड
यह मोबाइल और वेब क्लाइंट लाइब्रेरी के साथ शुरू करने के लिए बढ़िया है, लेकिन यह किसी को भी आपका डेटा पढ़ने और उसे ओवरराइट करने की सुविधा देती है. जांच करने के बाद, Firebase रीयल टाइम डेटाबेस के नियमों को समझना सेक्शन को ज़रूर पढ़ें.
वेब, Apple या Android SDK का इस्तेमाल शुरू करने के लिए, testmode चुनें.
- लॉक मोड
मोबाइल और वेब क्लाइंट की ओर से कुछ भी पढ़ने और लिखने की अनुमति नहीं देता. आपके पुष्टि किए गए ऐप्लिकेशन सर्वर अब भी आपके डेटाबेस को ऐक्सेस कर सकते हैं.
डेटाबेस के लिए कोई लोकेशन चुनें.
डेटाबेस की जगह के आधार पर, नए डेटाबेस के लिए यूआरएल इनमें से किसी एक फ़ॉर्म में होगा:
(DATABASE_NAME.firebaseio.com
us-central1
में मौजूद डेटाबेस के लिए) (दूसरी सभी जगहों के डेटाबेस के लिए)DATABASE_NAME.REGION.firebasedatabase.app
हो गया पर क्लिक करें.
रीयलटाइम डेटाबेस को चालू करने पर, यह Cloud API मैनेजर में एपीआई को भी चालू कर देता है.
अपने ऐप्लिकेशन में रीयलटाइम डेटाबेस SDK टूल जोड़ना
अपने मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल (आम तौर पर<project>/<app-module>/build.gradle.kts
या
<project>/<app-module>/build.gradle
),
Android के लिए रीयलटाइम डेटाबेस लाइब्रेरी के लिए डिपेंडेंसी जोड़ें. लाइब्रेरी वर्शन को कंट्रोल करने के लिए,
Firebase Android BoM
का इस्तेमाल करने का सुझाव दिया जाता है.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.1.1")) // 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") }
रीयलटाइम डेटाबेस के सुरक्षा नियमों को कॉन्फ़िगर करें
रीयलटाइम डेटाबेस, जानकारी देने वाले नियमों की भाषा उपलब्ध कराता है. इसकी मदद से यह तय किया जा सकता है कि आपका डेटा कैसे स्ट्रक्चर्ड होना चाहिए, उसे कैसे इंडेक्स किया जाना चाहिए, और आपके डेटा को कब पढ़ा और लिखा जा सकता है.
अपने डेटाबेस में लिखें
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 समुदाय फ़ोरम पर जाएं और विशेषज्ञ से मदद लें.
लॉन्च की तैयारी करना
अपना ऐप्लिकेशन लॉन्च करने से पहले, हमारा सुझाव है कि आप हमारी लॉन्च चेकलिस्ट देखें, ताकि यह पक्का हो सके कि आपका ऐप्लिकेशन इस्तेमाल के लिए तैयार है!
ऐप्लिकेशन की जांच की सुविधा चालू करें, ताकि यह पक्का किया जा सके कि आपके डेटाबेस को सिर्फ़ आपके ऐप्लिकेशन ऐक्सेस कर सकें.
अगले चरण
- रीयलटाइम डेटाबेस के लिए डेटा को व्यवस्थित करने का तरीका जानें
- अपने डेटा को एक से ज़्यादा डेटाबेस इंस्टेंस में स्केल करें.
- डेटा पढ़ना और उसमें बदलाव करना.
- Firebase कंसोल में अपना डेटाबेस देखें.