Firebase Remote Config की मदद से, ऐप्लिकेशन के काम करने के तरीके और लुक में डाइनैमिक तरीके से बदलाव किया जा सकता है. इसके लिए, उपयोगकर्ताओं को ऐप्लिकेशन को अपडेट करने की ज़रूरत नहीं होगी. साथ ही, बैकएंड को फिर से डिप्लॉय करने की भी ज़रूरत नहीं होगी.
अपने ऐप्लिकेशन को कॉन्फ़िगर करने के लिए, Remote Config में पैरामीटर (की-वैल्यू पेयर) तय किए जाते हैं. इसके बाद, उन्हें अपने ऐप्लिकेशन या बैकएंड कोड में इस्तेमाल किया जाता है. शर्तें (टारगेटिंग के नियम) भी तय की जा सकती हैं, ताकि शर्तों के हिसाब से वैल्यू असाइन की जा सकें. ये वैल्यू, खास ऑडियंस, एनवायरमेंट या कस्टम शर्तों के लिए डिफ़ॉल्ट वैल्यू को बदल देती हैं.
Remote Config पैरामीटर और शर्तों को टेंप्लेट में व्यवस्थित करता है. अपने आर्किटेक्चर के हिसाब से, क्लाइंट टेंप्लेट, सर्वर टेंप्लेट या दोनों का इस्तेमाल किया जा सकता है:
क्लाइंट टेंप्लेट में पैरामीटर और शर्तें: Apple, Android, Web, Flutter, Unity, और C++ प्लैटफ़ॉर्म पर क्लाइंट ऐप्लिकेशन इंस्टेंस को कॉन्फ़िगरेशन उपलब्ध कराएं. Google Analytics ऑडियंस, ऐप्लिकेशन के वर्शन, प्लैटफ़ॉर्म, डिवाइस की भाषा, देश, उपयोगकर्ता के पर्सेंटाइल, और क्लाइंट-साइड कस्टम सिग्नल का इस्तेमाल करके, ऐप्लिकेशन इंस्टेंस को टारगेट करें.
सर्वर टेंप्लेट में पैरामीटर और शर्तें: Node.js, Python, Go, और Java के लिए Firebase Admin SDK का इस्तेमाल करके, बैकएंड एनवायरमेंट जैसे कि Cloud Run, Cloud Functions for Firebase या कंटेनर वाले सर्वर को कॉन्फ़िगरेशन उपलब्ध कराएं. सर्वर कस्टम सिग्नल और रैंडम प्रतिशत रोलआउट का इस्तेमाल करके, सर्वर साइड पर पैरामीटर का आकलन करें. इसमें लगभग कोई समय नहीं लगता.
क्लाइंट और सर्वर टेंप्लेट की तुलना करना
क्लाइंट और सर्वर टेंप्लेट, अलग-अलग आर्किटेक्चर के साथ काम करते हैं. साथ ही, ये अलग-अलग एसडीके और टारगेटिंग के नियमों के साथ काम करते हैं. नीचे दी गई टेबल का इस्तेमाल करके जानें कि आपके इस्तेमाल के उदाहरण के लिए, कौनसा टेंप्लेट टाइप सही है:
| सुविधा | क्लाइंट टेंप्लेट | सर्वर टेंप्लेट |
|---|---|---|
| टारगेट एनवायरमेंट | क्लाइंट ऐप्लिकेशन (Apple, Android, Web, Flutter, Unity, C++) | सर्वर एनवायरमेंट (Cloud Run, Cloud Functions for Firebase, GKE, बैकएंड सेवाएं) |
| साथ काम करने वाले एसडीके | Firebase क्लाइंट SDK टूल | Firebase Admin SDK (Node.js, Python, Go, Java) |
| मूल्यांकन मॉडल | क्लाइंट डिवाइसों पर फ़ेच और कैश किया जाता है; ऐप्लिकेशन कोड से चालू किया जाता है | सर्वर की मेमोरी में लोड किया जाता है; हर अनुरोध के लिए इसका आकलन किया जाता है. इसमें बहुत कम समय लगता है |
| शर्तों से जुड़े नियम | ऐप्लिकेशन का वर्शन, ओएस/प्लैटफ़ॉर्म, डिवाइस की भाषा, देश/इलाका, Analytics ऑडियंस और उपयोगकर्ता प्रॉपर्टी, रैंडम पर्सेंटाइल में उपयोगकर्ता, पहली बार ऐप्लिकेशन खोलना, क्लाइंट के कस्टम सिग्नल | उपयोगकर्ता के रैंडम प्रतिशत में, सर्वर के कस्टम सिग्नल |
| इस्तेमाल के सामान्य उदाहरण | सुविधा के रोल आउट, सीज़नल प्रमोशन, यूज़र इंटरफ़ेस थीम, A/B Testing, दिलचस्पी के मुताबिक अनुभव | एआई प्रॉम्प्ट और मॉडल चुनने की सुविधा, सर्वर-साइड फ़ीचर फ़्लैग, बैकएंड रेट-लिमिटिंग, डाइनैमिक राउटिंग |
| ज़्यादा जानकारी | क्लाइंट टेंप्लेट में पैरामीटर | सर्वर टेंप्लेट में पैरामीटर |
मुख्य सिद्धांत
चाहे क्लाइंट टेंप्लेट इस्तेमाल किए जाएं या सर्वर टेंप्लेट, Remote Config में ये बुनियादी सिद्धांत एक जैसे होते हैं:
पैरामीटर
पैरामीटर, की-वैल्यू पेयर होते हैं. इन्हें Firebase कंसोल में या Remote Config बैकएंड एपीआई का इस्तेमाल करके तय किया जाता है.
- पैरामीटर कुंजियां: ये आपके पैरामीटर के लिए स्ट्रिंग आइडेंटिफ़ायर होते हैं. कुंजियों में 256 वर्ण तक हो सकते हैं. इनकी शुरुआत अंडरस्कोर या अंग्रेज़ी के अक्षर (A-Z, a-z) से होनी चाहिए. इनमें संख्याएं भी शामिल हो सकती हैं.
- पैरामीटर वैल्यू: आपके पैरामीटर को असाइन की गई वैल्यू. वैल्यू को स्ट्रिंग के तौर पर सेव किया जाता है. हालांकि, कंसोल में डेटा टाइप चुनकर, वैल्यू की पुष्टि की जा सकती है. इसके लिए,
String,Boolean,NumberयाJSONजैसे फ़ॉर्मैट का इस्तेमाल किया जा सकता है. - डिफ़ॉल्ट वैल्यू: यह वह बेसलाइन वैल्यू होती है जो तब असाइन की जाती है, जब कोई शर्त लागू नहीं होती है. अपने कोड में, ऐप्लिकेशन में मौजूद डिफ़ॉल्ट वैल्यू तय की जा सकती हैं. साथ ही, Remote Config बैकएंड में टेंप्लेट की डिफ़ॉल्ट वैल्यू तय की जा सकती हैं.
शर्तें, नियम, और शर्त के साथ वैल्यू
शर्तों की मदद से, ऐप्लिकेशन इस्तेमाल करने वाले लोगों के किसी खास ग्रुप या सर्वर के अनुरोधों को टारगेट किया जा सकता है. इसके लिए, पैरामीटर की वैल्यू को पसंद के मुताबिक बनाया जा सकता है:
- नियम: क्लाइंट के मेटाडेटा या अनुरोध के कॉन्टेक्स्ट (जैसे कि वर्शन नंबर, देश या कस्टम सिग्नल) के आधार पर, अलग-अलग शर्तों का आकलन किया जाता है.
- शर्तें: एक या उससे ज़्यादा नियमों के नाम वाले सेट. किसी शर्त के
trueहोने के लिए, उस शर्त के सभी नियमों काtrueहोना ज़रूरी है. - शर्त के हिसाब से वैल्यू: किसी पैरामीटर को असाइन की गई वैकल्पिक वैल्यू. ये वैल्यू तब असाइन की जाती हैं, जब कोई शर्त
trueके तौर पर तय की जाती है. अगर कई शर्तेंtrueके तौर पर तय की गई हैं, तो Firebase कंसोल में सबसे ज़्यादा प्राथमिकता वाली शर्त को प्राथमिकता दी जाती है.
पैरामीटर ग्रुप
अगर आपको कई पैरामीटर वाले कॉन्फ़िगरेशन व्यवस्थित करने हैं, तो पैरामीटर ग्रुप का इस्तेमाल करें. ग्रुप, Firebase कंसोल में विज़ुअल ऑर्गनाइज़ेशन और REST API में लॉजिकल ग्रुपिंग की सुविधा देते हैं.
- कोई पैरामीटर एक समय में सिर्फ़ एक ग्रुप का हिस्सा हो सकता है.
- पैरामीटर की कुंजियां, ग्रुपिंग के बावजूद आपके प्रोजेक्ट में ग्लोबल तौर पर यूनीक बनी रहती हैं.
- ग्रुप बनाने से, आपके SDK कोड में पैरामीटर वैल्यू को रेफ़रंस करने के तरीके में कोई बदलाव नहीं होता.
ग्रुप बनाने और उन्हें मैनेज करने के निर्देशों के लिए, क्लाइंट या सर्वर पैरामीटर की गाइड देखें.
टेंप्लेट के वर्शन और रोलबैक
Remote Config में पैरामीटर या शर्तों को अपडेट और पब्लिश करने पर, Firebase आपके टेंप्लेट का नया वर्शन बनाता है और उसे सेव करता है. वर्शन इतिहास देखा जा सकता है. साथ ही, अलग-अलग वर्शन के बीच हुए बदलावों की तुलना की जा सकती है. इसके अलावा, जब भी ज़रूरी हो, पिछले वर्शन पर रोल बैक किया जा सकता है.
टेंप्लेट के वर्शन मैनेज करने के बारे में ज़्यादा जानने के लिए, Remote Config टेंप्लेट के वर्शन मैनेज करना लेख पढ़ें.
कोटा और सीमाएं
Firebase प्रोजेक्ट में, Remote Config इन सीमाओं को लागू करता है:
- पैरामीटर: हर प्रोजेक्ट के लिए ज़्यादा से ज़्यादा 3,000 पैरामीटर.
- शर्तें: हर प्रोजेक्ट के लिए, ज़्यादा से ज़्यादा 2,000 शर्तें.
- पैरामीटर की लंबाई: ज़्यादा से ज़्यादा 256 वर्ण.
- वैल्यू स्ट्रिंग की कुल लंबाई: किसी प्रोजेक्ट में सभी पैरामीटर वैल्यू के लिए, ज़्यादा से ज़्यादा 10 लाख वर्ण.
सीमाओं की पूरी सूची देखने के लिए, कोटा और सीमाएं देखें.
अगले चरण
- क्लाइंट ऐप्लिकेशन: क्लाइंट टेंप्लेट में पैरामीटर और शर्तें में जाकर, पैरामीटर, टारगेटिंग के नियम, और प्राथमिकता कॉन्फ़िगर करने का तरीका जानें.
- सर्वर ऐप्लिकेशन: सर्वर टेंप्लेट में पैरामीटर और शर्तें में जाकर, सर्वर पैरामीटर, कस्टम सिग्नल, और सर्वर के आकलन को कॉन्फ़िगर करने का तरीका जानें.
- क्लाइंट एसडीके का इस्तेमाल शुरू करना: Firebase Remote Config का इस्तेमाल शुरू करना गाइड की मदद से, अपना क्लाइंट ऐप्लिकेशन सेट अप करें.
- सर्वर एसडीके का इस्तेमाल शुरू करना: सर्वर एनवायरमेंट में Remote Config का इस्तेमाल करना गाइड की मदद से, अपना बैकएंड एनवायरमेंट सेट अप करें.
- अपडेट अपने-आप होने की सुविधा: प्रोग्राम के हिसाब से Remote Config में बदलाव करें में जाकर, प्रोग्राम के हिसाब से टेंप्लेट में बदलाव करने का तरीका जानें.