Firebase Local Emulator Suite के साथ आगे बढ़ने से पहले, पक्का करें कि आपने आपने Firebase प्रोजेक्ट चुना होगा, अपना डेवलपमेंट एनवायरमेंट सेट अप किया होगा, और के मुताबिक अपने प्लैटफ़ॉर्म के लिए Firebase SDK टूल इंस्टॉल किए गए हैं आपके प्लैटफ़ॉर्म के लिए Firebase के विषय: Apple, Android या वेब.
प्रोटोटाइप बनाना और जांच करना
Local Emulator Suite में कई प्रॉडक्ट एम्युलेटर मौजूद हैं. इनके बारे में यहां बताया गया है Firebase Local Emulator Suite के बारे में जानकारी. आपके पास हर एक एम्युलेटर के साथ-साथ, इसके कॉम्बिनेशन की मदद से प्रोटोटाइप बनाने और उनकी जांच करने का विकल्प होता है इस्तेमाल किए जा रहे Firebase प्रॉडक्ट के हिसाब से एम्युलेटर. प्रोडक्शन में है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया हैइस विषय के लिए, Local Emulator Suite वर्कफ़्लो की जानकारी देते समय, आप ऐसे ऐप्लिकेशन पर काम कर रहे हैं जो प्रॉडक्ट के किसी खास तरह के कॉम्बिनेशन का इस्तेमाल करता है: Firebase उस डेटाबेस पर कार्रवाइयों से ट्रिगर होने वाले डेटाबेस और क्लाउड फ़ंक्शन.
स्थानीय तौर पर अपना Firebase प्रोजेक्ट शुरू करने के बाद, डेवलपमेंट साइकल इसका इस्तेमाल करके आम तौर पर, Local Emulator Suite में तीन चरण होते हैं:
एम्युलेटर और Emulator Suite UI के साथ, प्रोटोटाइप सुविधाएं इंटरैक्टिव तरीके से जोड़ी गई हैं.
अगर डेटाबेस एम्युलेटर या Cloud Functions एम्युलेटर का इस्तेमाल किया जा रहा है, तो अपने ऐप्लिकेशन को एम्युलेटर से कनेक्ट करने के लिए, एक बार पूरा करें.
एम्युलेटर और कस्टम स्क्रिप्ट का इस्तेमाल करके, अपने टेस्ट ऑटोमेट करें.
स्थानीय तौर पर Firebase प्रोजेक्ट शुरू करना
पक्का करें कि आपने सीएलआई इंस्टॉल किया हो या नए वर्शन में अपडेट करें.
curl -sL firebase.tools | bash
अगर आपने अभी तक ऐसा नहीं किया है, तो मौजूदा डायरेक्ट्री को Firebase प्रोजेक्ट, स्क्रीन पर दिए गए निर्देशों का पालन करके यह बताता है कि आप इसका इस्तेमाल कर रहे हैं Cloud Functions और Cloud Firestore या Realtime Database:
firebase init
आपकी प्रोजेक्ट डायरेक्ट्री में अब Firebase कॉन्फ़िगरेशन फ़ाइलें शामिल होंगी,
डेटाबेस के लिए Firebase Security Rules डेफ़िनिशन फ़ाइल, एक functions
डायरेक्ट्री
जिसमें क्लाउड फ़ंक्शन कोड और काम करने वाली अन्य फ़ाइलें शामिल हों.
इंटरैक्टिव तरीके से प्रोटोटाइप बनाना
Local Emulator Suite को इस तरह से डिज़ाइन किया गया है कि आप नई सुविधाओं को तेज़ी से प्रोटोटाइप कर सकें, और सुइट का बिल्ट-इन यूज़र इंटरफ़ेस इसके सबसे उपयोगी प्रोटोटाइपिंग में से एक है टूल. यह कुछ हद तक स्थानीय तौर पर Firebase कंसोल चलाने जैसा है.
Emulator Suite UI का इस्तेमाल करके, डेटाबेस के डिज़ाइन को दोहराया जा सकता है. इसके लिए, यह तरीका आज़माएं क्लाउड फ़ंक्शन से जुड़े अलग-अलग डेटाफ़्लो, सुरक्षा के नियमों में हुए बदलावों, लॉग देखकर पुष्टि करें कि आपकी बैक-एंड सेवाएं कैसा परफ़ॉर्म कर रही हैं वगैरह. इसके बाद, अगर आपको फिर से शुरू करना है, तो बस अपने डेटाबेस को मिटाएं और नए सिरे से शुरुआत करें एक नए डिज़ाइन के साथ किया जा सकता है.
Local Emulator Suite की शुरुआत करने पर, ये सभी सुविधाएं उपलब्ध होती हैं:
firebase emulators:start
हमारे काल्पनिक ऐप्लिकेशन के प्रोटोटाइप को बनाने के लिए, आइए एक बेसिक क्लाउड फ़ंक्शन सेट अप और टेस्ट करते हैं का इस्तेमाल, डेटाबेस में टेक्स्ट एंट्री में बदलाव करने के लिए किया जाता है. साथ ही, उस डेटाबेस को बनाकर उसे अपने-आप भरा जाता है को ट्रिगर करने के लिए Emulator Suite UI में.
- डेटाबेस में बदलाव करके ट्रिगर किया गया क्लाउड फ़ंक्शन बनाएं
functions/index.js
फ़ाइल है. मौजूदा मौजूदा फ़ाइल की सामग्री निम्नलिखित स्निपेट के साथ यह फ़ंक्शनmessages
की हैरारकी में नोड में होने वाले बदलावों को सुनता है, नोड कीoriginal
प्रॉपर्टी के कॉन्टेंट को अपरकेस, नतीजे को उस नोड केuppercase
में सेव करता है प्रॉपर्टी. - Local Emulator Suite को इससे लॉन्च करें
firebase emulators:start
. Cloud Functions और डेटाबेस एम्युलेटर शुरू हो जाते हैं, जो इंटरऑपरेट करने के लिए अपने-आप कॉन्फ़िगर होते हैं. - अपने ब्राउज़र में
http://localhost:4000
पर यूज़र इंटरफ़ेस (यूआई) देखें. यूज़र इंटरफ़ेस (यूआई) के लिए, पोर्ट 4000 डिफ़ॉल्ट तौर पर सेट होता है. हालांकि, टर्मिनल मैसेज आउटपुट को इसके हिसाब से देखें Firebase सीएलआई. उपलब्ध एम्युलेटर की स्थिति को नोट करें. हमारे मामले में, Cloud Functions और Realtime Database एम्युलेटर चलेंगे.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है - यूज़र इंटरफ़ेस (यूआई) में, रीयलटाइम डेटाबेस टैब पर डेटाबेस का कॉन्टेंट इस्तेमाल करें
एडिटर कंट्रोल की मदद से,
messages
नोड वाले नोड का सेट बनाया जा सकता है जिसमेंmessage1
नोड है, जिसके बदले में एक नोड है कुंजी कोoriginal
पर सेट किया गया है और वैल्यू कोtest
पर सेट किया गया है. यह हमारे क्लाउड फ़ंक्शन को ट्रिगर करती है. ध्यान दें कि एक नयाuppercase
प्रॉपर्टी जल्द हीTEST
मान के साथ दिखाई देती है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है - लॉग टैब देखकर पुष्टि करें कि आपका फ़ंक्शन इनोट गड़बड़ियों पर नहीं चला क्योंकि इसने डेटाबेस को अपडेट किया.
const functions = require('firebase-functions/v1'); exports.makeUppercase = functions.database.ref('/messages/{pushId}/original') .onCreate((snapshot, context) => { const original = snapshot.val(); console.log('Uppercasing', context.params.pushId, original); const uppercase = original.toUpperCase(); return snapshot.ref.parent.child('uppercase').set(uppercase); });
क्लाउड फ़ंक्शन कोड और इंटरैक्टिव, दोनों के बीच आसानी से काम किया जा सकता है डेटाबेस में तब तक बदलाव होते हैं, जब तक कि आपको बिना टच किए डेटा फ़्लो मिल जाता है इन-ऐप्लिकेशन डेटाबेस ऐक्सेस कोड, टेस्ट सुइट को फिर से कंपाइल करना, और फिर से चलाना.
अपने ऐप्लिकेशन को एम्युलेटर से कनेक्ट करें
जब आपने इंटरैक्टिव प्रोटोटाइपिंग के साथ अच्छी प्रोग्रेस कर ली हो और सेटल हो गए हों डिज़ाइन है, तो आप इसका उपयोग करके अपने ऐप्लिकेशन में डेटाबेस ऐक्सेस कोड जोड़ सकते हैं सही SDK टूल का इस्तेमाल करें. आपको डेटाबेस टैब और फ़ंक्शन के लिए, आपके ऐप्लिकेशन के काम करने के तरीके की पुष्टि करने के लिए, Emulator Suite UI में लॉग टैब होता है सही है.
याद रखें कि Local Emulator Suite एक लोकल डेवलपमेंट टूल है. लिखना आपके डेटाबेस में, उन फ़ंक्शन को ट्रिगर नहीं करेगा जिनका प्रोटोटाइप बनाया जा रहा है स्थानीय रूप से.
अगर आप चाहते हैं कि आपका ऐप्लिकेशन डेटाबेस में बदलाव करे, तो आपको डेटाबेस में बदलाव करने होंगे का इस्तेमाल करें.Realtime Database
Kotlin+KTX
// 10.0.2.2 is the special IP address to connect to the 'localhost' of // the host computer from an Android emulator. val database = Firebase.database database.useEmulator("10.0.2.2", 9000)
Java
// 10.0.2.2 is the special IP address to connect to the 'localhost' of // the host computer from an Android emulator. FirebaseDatabase database = FirebaseDatabase.getInstance(); database.useEmulator("10.0.2.2", 9000);
Swift
// In almost all cases the ns (namespace) is your project ID. let db = Database.database(url:"http://127.0.0.1:9000?ns=YOUR_DATABASE_NAMESPACE")
Web
import { getDatabase, connectDatabaseEmulator } from "firebase/database"; const db = getDatabase(); if (location.hostname === "localhost") { // Point to the RTDB emulator running on localhost. connectDatabaseEmulator(db, "127.0.0.1", 9000); }
Web
var db = firebase.database(); if (location.hostname === "localhost") { // Point to the RTDB emulator running on localhost. db.useEmulator("127.0.0.1", 9000); }
कस्टम स्क्रिप्ट से अपने टेस्ट को ऑटोमेट करना
अब वर्कफ़्लो के आखिरी चरण पर जाएँ. सुविधा को प्रोटोटाइप करने के बाद
इन-ऐप्लिकेशन खरीदारी करता है और यह आपके सभी प्लैटफ़ॉर्म पर भरोसेमंद लगता है.
और उनकी जांच करना. यूनिट टेस्टिंग और सीआई वर्कफ़्लो के लिए,
एम्युलेटर, स्क्रिप्ट किए गए टेस्ट चलाने, और एम्युलेटर को एक ही कॉल में शट डाउन करने का काम
exec
कमांड:
firebase emulators:exec "./testdir/test.sh"
अलग-अलग एम्युलेटर के बारे में ज़्यादा जानें
अब जब आपने देख लिया है कि बुनियादी क्लाइंट-साइड वर्कफ़्लो कैसा दिखता है, तो सुइट में मौजूद एम्युलेटर की पूरी जानकारी का इस्तेमाल करें. इसमें यह जानकारी भी शामिल है कि ताकि सर्वर साइड ऐप्लिकेशन डेवलपमेंट के लिए उनका इस्तेमाल किया जा सके:
- Authentication एम्युलेटर को अपने प्रोटोटाइपिंग वर्कफ़्लो में जोड़ें
- Realtime Database एम्युलेटर की सुविधाओं के बारे में ज़्यादा जानें
- Cloud Storage for Firebase एम्युलेटर की सुविधाओं के बारे में ज़्यादा जानें
- Cloud Firestore एम्युलेटर की सुविधाओं के बारे में ज़्यादा जानें
- अपने ऐप्लिकेशन को Cloud Functions एम्युलेटर से कनेक्ट करना
- Extensions एम्युलेटर की मदद से, बिलिंग शुल्क कम करें और Firebase Extensions का आकलन करें
आगे क्या करना है?
ऊपर लिंक किए गए खास एम्युलेटर से जुड़े विषयों को ज़रूर पढ़ें. इसके बाद:
- चुनिंदा वीडियो के सेट और इस्तेमाल करने के तरीकों की ज़्यादा जानकारी के लिए, Firebase एम्युलेटर ट्रेनिंग प्लेलिस्ट देखें.
- सुरक्षा नियमों की टेस्टिंग वाले बेहतर इस्तेमाल के उदाहरणों की जांच करें. Firebase टेस्ट SDK टूल: सुरक्षा के नियमों की जांच करें (Cloud Firestore) , सुरक्षा के नियमों की जांच करें (Realtime Database), और सुरक्षा नियमों की जांच करें (Cloud Storage for Firebase).