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