रिमोट कॉन्फ़िगरेशन के पैरामीटर और शर्तें

Firebase Remote Config की मदद से, ऐप्लिकेशन के काम करने के तरीके और लुक को डाइनैमिक तरीके से कंट्रोल किया जा सकता है. इसके लिए, उपयोगकर्ताओं को ऐप्लिकेशन का अपडेट डाउनलोड करने या बैकएंड को फिर से डिप्लॉय करने की ज़रूरत नहीं होती.

अपने ऐप्लिकेशन कॉन्फ़िगर करने के लिए, Remote Config में पैरामीटर (की-वैल्यू पेयर) तय करें. साथ ही, उन्हें अपने ऐप्लिकेशन या बैकएंड कोड में इस्तेमाल करें. शर्तों (टारगेटिंग के नियम) को भी तय किया जा सकता है, ताकि शर्तों के हिसाब से वैल्यू असाइन की जा सकें. ये वैल्यू, खास ऑडियंस, एनवायरमेंट या कस्टम क्राइटेरिया के लिए डिफ़ॉल्ट वैल्यू को बदल देती हैं.

Remote Config, पैरामीटर और शर्तों को टेंप्लेट में व्यवस्थित करता है. अपने आर्किटेक्चर के हिसाब से, क्लाइंट टेंप्लेट, सर्वर टेंप्लेट या दोनों का इस्तेमाल किया जा सकता है:

  • क्लाइंट टेंप्लेट में पैरामीटर और शर्तें: Apple, Android, वेब, 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 में लॉजिकल ग्रुपिंग की सुविधा देते हैं.

  • कोई पैरामीटर एक समय में सिर्फ़ एक ग्रुप से जुड़ा हो सकता है.
  • पैरामीटर कुंजियां, आपके पूरे प्रोजेक्ट में ग्लोबल तौर पर यूनीक रहती हैं. भले ही, उन्हें ग्रुप में रखा गया हो या नहीं.
  • ग्रुप बनाने से, आपके एसडीके कोड में पैरामीटर वैल्यू को रेफ़रंस देने के तरीके में कोई बदलाव नहीं होता.

ग्रुप बनाने और उन्हें मैनेज करने के निर्देशों के लिए, क्लाइंट या सर्वर पैरामीटर की पूरी जानकारी वाली गाइड देखें.

टेंप्लेट के वर्शन और रोलबैक

Remote Config में पैरामीटर या शर्तों को अपडेट और पब्लिश करने पर, Firebase आपके टेंप्लेट का एक नया वर्शन बनाता है और उसे सेव करता है. वर्शन इतिहास देखा जा सकता है, अलग-अलग वर्शन के बीच बदलावों की तुलना की जा सकती है, और ज़रूरत पड़ने पर किसी पिछले वर्शन पर वापस जाया जा सकता है.

टेंप्लेट के वर्शन को मैनेज करने के बारे में ज़्यादा जानने के लिए, Remote Config टेंप्लेट के वर्शन मैनेज करना लेख पढ़ें.

कोटा और सीमाएं

किसी Firebase प्रोजेक्ट में, Remote Config ये सीमाएं लागू करता है:

  • पैरामीटर: हर प्रोजेक्ट के लिए ज़्यादा से ज़्यादा 3,000 पैरामीटर.
  • शर्तें: हर प्रोजेक्ट के लिए ज़्यादा से ज़्यादा 2,000 शर्तें जोड़ी जा सकती हैं.
  • पैरामीटर कुंजी की लंबाई: ज़्यादा से ज़्यादा 256 वर्ण.
  • वैल्यू स्ट्रिंग की कुल लंबाई: किसी प्रोजेक्ट में मौजूद सभी पैरामीटर वैल्यू में, ज़्यादा से ज़्यादा 10,00,000 वर्ण हो सकते हैं.

सीमाओं की पूरी सूची देखने के लिए, कोटा और सीमाएं लेख पढ़ें.

अगले चरण