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


क्लाइंट और सर्वर, दोनों के इस्तेमाल के उदाहरणों के लिए टेंप्लेट कॉन्फ़िगर किए जा सकते हैं. क्लाइंट टेंप्लेट, उन सभी ऐप्लिकेशन इंस्टेंस को दिखाए जाते हैं जिनमें Remote Config के लिए Firebase क्लाइंट SDK टूल लागू किए गए हैं. इनमें Android, Apple, वेब, Unity, Flutter, और C++ ऐप्लिकेशन शामिल हैं. सर्वर के हिसाब से बनाए गए टेंप्लेट से Remote Config पैरामीटर और वैल्यू, Remote Config के उन लागू करने के तरीकों को दिखाई जाती हैं जो सर्वर के इन एनवायरमेंट का इस्तेमाल करते हैं:

  • Firebase Admin Node.js SDK v12.1.0+
  • Firebase Admin Python SDK v6.7.0 या इसके बाद का वर्शन

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

Firebase कंसोल, Admin SDK या Remote Config REST API का इस्तेमाल करके, अपने पैरामीटर के लिए नई डिफ़ॉल्ट वैल्यू बनाई जा सकती हैं. साथ ही, शर्त के हिसाब से वैल्यू भी बनाई जा सकती हैं. इनका इस्तेमाल, ऐप्लिकेशन इंस्टेंस के ग्रुप को टारगेट करने के लिए किया जाता है. Firebase कंसोल में कॉन्फ़िगरेशन अपडेट करने पर, Firebase आपके Remote Config टेंप्लेट का नया वर्शन बनाता है और उसे पब्लिश करता है. पिछला वर्शन सेव रहता है. इससे आपको ज़रूरत के मुताबिक, उसे वापस लाने या रोलबैक करने की सुविधा मिलती है. ये कार्रवाइयां, Firebase कंसोल, Firebase Admin SDK, और REST API में उपलब्ध हैं. इनके बारे में ज़्यादा जानकारी, Remote Config टेंप्लेट के वर्शन मैनेज करना लेख में दी गई है.

इस गाइड में पैरामीटर, शर्तें, नियम, शर्त के साथ वैल्यू, और Remote Config बैकएंड और आपके ऐप्लिकेशन में अलग-अलग पैरामीटर वैल्यू को प्राथमिकता देने के तरीके के बारे में बताया गया है. इसमें, शर्तें बनाने के लिए इस्तेमाल किए गए नियमों के टाइप के बारे में भी जानकारी दी गई है.

शर्तें, नियम, और शर्त के साथ वैल्यू

किसी शर्त का इस्तेमाल, ऐप्लिकेशन इंस्टेंस के ग्रुप को टारगेट करने के लिए किया जाता है. शर्तें, एक या उससे ज़्यादा नियमों से बनी होती हैं. किसी ऐप्लिकेशन इंस्टेंस के लिए, शर्त को true के तौर पर आंकने के लिए, सभी नियमों का आकलन true के तौर पर किया जाना चाहिए. अगर किसी नियम के लिए वैल्यू तय नहीं की गई है (उदाहरण के लिए, जब कोई वैल्यू उपलब्ध नहीं होती है), तो उस नियम का आकलन false के तौर पर किया जाएगा.

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

किसी पैरामीटर में, अलग-अलग शर्तों का इस्तेमाल करने वाली कई कंडिशनल वैल्यू हो सकती हैं. साथ ही, पैरामीटर किसी प्रोजेक्ट में शर्तों को शेयर कर सकते हैं. Firebase कंसोल के पैरामीटर टैब में जाकर, हर पैरामीटर की शर्त के हिसाब से तय की गई वैल्यू के लिए फ़ेच किए गए डेटा का प्रतिशत देखा जा सकता है. इस मेट्रिक से पता चलता है कि पिछले 24 घंटों में, हर वैल्यू को कितने प्रतिशत अनुरोध मिले.

पैरामीटर वैल्यू की प्राथमिकता

Firebase Admin SDK का इस्तेमाल करके सर्वर ऐप्लिकेशन में Remote Config का इस्तेमाल करने पर, आपको पूरा टेंप्लेट फ़ेच और लोड करना होता है. ऐसा इसलिए, ताकि हर क्लाइंट के अनुरोध पर, ज़रूरत के हिसाब से पैरामीटर की वैल्यू निकाली जा सके. किसी पैरामीटर से कई शर्तें जुड़ी हो सकती हैं.

यहां दिए गए नियमों से यह तय होता है कि टेंप्लेट का आकलन करते समय, किसी खास समय पर कौनसी वैल्यू असाइन की जाएगी:

  1. सबसे पहले, किसी क्लाइंट के अनुरोध के लिए true के तौर पर आकलन की गई किसी भी शर्त के लिए, शर्त के हिसाब से वैल्यू लागू की जाती हैं. अगर कई शर्तों का आकलन true के तौर पर किया जाता है, तो true कंसोल के यूज़र इंटरफ़ेस (यूआई) में सबसे ऊपर दिखने वाली शर्त को प्राथमिकता दी जाती है. साथ ही, टेंप्लेट का आकलन करते समय, उस शर्त से जुड़ी वैल्यू दी जाती हैं.Firebase शर्तें टैब में शर्तों को खींचकर और छोड़कर, उनकी प्राथमिकता बदली जा सकती है.

  2. अगर ऐसी कोई शर्त वाली वैल्यू नहीं है जिसकी शर्तें true के बराबर हों, तो टेंप्लेट का आकलन करते समय Remote Config की डिफ़ॉल्ट वैल्यू दी जाती है. अगर कोई पैरामीटर, टेंप्लेट में मौजूद नहीं है या डिफ़ॉल्ट वैल्यू को ऐप्लिकेशन में मौजूद डिफ़ॉल्ट वैल्यू का इस्तेमाल करें पर सेट किया गया है, तो टेंप्लेट का आकलन करते समय उस पैरामीटर के लिए कोई वैल्यू नहीं दी जाती है.

सर्वर ऐप्लिकेशन में Remote Config टेंप्लेट लोड करने और उनका आकलन करने के बारे में ज़्यादा जानने के लिए, सर्वर एनवायरमेंट में Remote Config का इस्तेमाल करना लेख पढ़ें.

पैरामीटर वैल्यू के डेटा टाइप

Remote Config की मदद से, हर पैरामीटर के लिए डेटा टाइप चुना जा सकता है. साथ ही, टेंप्लेट अपडेट करने से पहले, Remote Config की सभी वैल्यू की पुष्टि की जा सकती है. डेटा टाइप को सेव किया जाता है और getRemoteConfig अनुरोध पर वापस भेजा जाता है.

इस तरह के डेटा का इस्तेमाल किया जा सकता है:

  • String
  • Boolean
  • Number
  • JSON

Firebase कंसोल के यूज़र इंटरफ़ेस (यूआई) में, पैरामीटर की के बगल में मौजूद ड्रॉप-डाउन से डेटा टाइप चुना जा सकता है. REST API में, पैरामीटर ऑब्जेक्ट में मौजूद value_type फ़ील्ड का इस्तेमाल करके टाइप सेट किए जा सकते हैं.

पैरामीटर ग्रुप

Remote Config की मदद से, पैरामीटर को एक साथ ग्रुप किया जा सकता है. इससे यूज़र इंटरफ़ेस (यूआई) ज़्यादा व्यवस्थित दिखता है और इस्तेमाल करना आसान हो जाता है.

उदाहरण के लिए, मान लें कि आपको लॉगिन करने की नई सुविधा लॉन्च करते समय, पुष्टि करने के तीन अलग-अलग तरीकों को चालू या बंद करना है. Remote Config की मदद से, अपनी पसंद के टाइप चालू करने के लिए तीन पैरामीटर बनाए जा सकते हैं. इसके बाद, उन्हें "नया लॉगिन" नाम के ग्रुप में व्यवस्थित किया जा सकता है. इसके लिए, प्रीफ़िक्स जोड़ने या खास तरीके से क्रम में लगाने की ज़रूरत नहीं होती.

Firebase कंसोल या Firebase REST API का इस्तेमाल करके, पैरामीटर ग्रुप बनाए जा सकते हैं.Remote Config आपके बनाए गए हर पैरामीटर ग्रुप का नाम, आपके Remote Config टेंप्लेट में अलग होना चाहिए. पैरामीटर ग्रुप बनाते समय, इन बातों का ध्यान रखें:

  • पैरामीटर को एक समय पर सिर्फ़ एक ग्रुप में शामिल किया जा सकता है. साथ ही, पैरामीटर की कुंजी सभी पैरामीटर में अलग-अलग होनी चाहिए.
  • पैरामीटर ग्रुप के नाम में ज़्यादा से ज़्यादा 256 वर्ण हो सकते हैं.
  • अगर REST API और Firebase कंसोल, दोनों का इस्तेमाल किया जाता है, तो पक्का करें कि पब्लिश करने पर पैरामीटर ग्रुप को मैनेज करने के लिए, REST API के लॉजिक को अपडेट किया गया हो.

Firebase console का इस्तेमाल करके, पैरामीटर ग्रुप बनाना या उनमें बदलाव करना

Firebase कंसोल के पैरामीटर टैब में जाकर, पैरामीटर को ग्रुप किया जा सकता है. ग्रुप बनाने या उसमें बदलाव करने के लिए:

  1. ग्रुप मैनेज करें को चुनें.
  2. उन पैरामीटर के लिए चेकबॉक्स चुनें जिन्हें आपको जोड़ना है. इसके बाद, ग्रुप में ले जाएं को चुनें.
  3. किसी मौजूदा ग्रुप को चुनें या नाम और ब्यौरा डालकर नया ग्रुप बनाएं. इसके बाद, नया ग्रुप बनाएं को चुनें. किसी ग्रुप को सेव करने के बाद, उसे बदलाव पब्लिश करें बटन का इस्तेमाल करके पब्लिश किया जा सकता है.

शर्त के नियम के टाइप

सर्वर ऐप्लिकेशन के लिए Remote Config टेंप्लेट, यहां दी गई शर्तों के साथ काम करते हैं:

उपयोगकर्ता का प्रतिशत

इस फ़ील्ड का इस्तेमाल करके, ऐप्लिकेशन इंस्टेंस के रैंडम सैंपल में बदलाव किया जा सकता है. सैंपल का साइज़ 0.0001% जितना छोटा हो सकता है. इसके लिए, स्लाइडर विजेट का इस्तेमाल करके, उपयोगकर्ताओं (ऐप्लिकेशन इंस्टेंस) को रैंडम तरीके से ग्रुप में बांटा जा सकता है.

हर ऐप्लिकेशन इंस्टेंस को, उस प्रोजेक्ट में तय किए गए सीड के हिसाब से, एक पूरे या फ़्रैक्शनल नंबर पर मैप किया जाता है.

जब तक सीड वैल्यू में बदलाव नहीं किया जाता, तब तक नियम डिफ़ॉल्ट कुंजी का इस्तेमाल करेगा. यह कुंजी, Firebase कंसोल में सीड में बदलाव करें के तौर पर दिखती है. सीड फ़ील्ड से वैल्यू हटाकर, किसी नियम को डिफ़ॉल्ट कुंजी का इस्तेमाल करने की सुविधा पर वापस लाया जा सकता है.

अगर आपको दिए गए प्रतिशत की रेंज में, ऐप्लिकेशन के एक ही इंस्टेंस को लगातार टारगेट करना है, तो सभी शर्तों के लिए एक ही सीड वैल्यू का इस्तेमाल करें. इसके अलावा, किसी तय प्रतिशत सीमा के लिए, ऐप्लिकेशन इंस्टेंस का नया ग्रुप चुनें. इसके लिए, नया सीड तय करें.

उदाहरण के लिए, अगर आपको दो ऐसी शर्तें बनानी हैं जो ऐप्लिकेशन के 5% उपयोगकर्ताओं पर लागू हों और एक-दूसरे से जुड़ी हों, तो एक शर्त को 0% से 5% के बीच के प्रतिशत से मैच करने के लिए कॉन्फ़िगर करें. इसके बाद, दूसरी शर्त को 5% से 10% के बीच की रेंज से मैच करने के लिए कॉन्फ़िगर करें. अगर आपको कुछ उपयोगकर्ताओं को दोनों ग्रुप में रैंडम तरीके से शामिल करना है, तो हर शर्त में मौजूद नियमों के लिए अलग-अलग सीड वैल्यू का इस्तेमाल करें.

अपने ऐप्लिकेशन में रैंडम प्रतिशत की शर्तें जोड़ने का तरीका जानने के लिए, अपने सर्वर ऐप्लिकेशन को कॉन्फ़िगर करना लेख पढ़ें.

कस्टम सिग्नल की शर्तें

Firebase Admin Node.js SDK 12.5.0 और इसके बाद के वर्शन में, कस्टम सिग्नल की शर्तों के हिसाब से वैल्यू का इस्तेमाल किया जा सकता है. इससे, आपके ऐप्लिकेशन में तय की गई किसी भी शर्त को पूरा किया जा सकता है. इससे आपको हर क्लाइंट के अनुरोध के लिए, सर्वर के जवाब को अपनी ज़रूरत के हिसाब से बनाने में मदद मिलती है.

उदाहरण के लिए, अगर आपको किसी ऐसे सर्वर ऐप्लिकेशन पर काम करना है जो जनरेटिव एआई का इस्तेमाल करके, अलग-अलग प्लैटफ़ॉर्म के लिए ट्यून किए गए अलग-अलग मॉडल की मदद से जवाब तैयार करता है, तो आपको यह काम करना होगा:

  1. अपने Remote Config सर्वर टेंप्लेट में prompt और model_name पैरामीटर जोड़ें.
  2. आपको जिस प्लैटफ़ॉर्म को टारगेट करना है उसके लिए, platform वैल्यू के साथ कस्टम सिग्नल की शर्तें जोड़ें.
  3. अपने सर्वर के हिसाब से बनाए गए Remote Config टेंप्लेट में डिफ़ॉल्ट वैल्यू जोड़ें. साथ ही, हर प्लैटफ़ॉर्म की उस शर्त के लिए वैल्यू जोड़ें जिसे आपने तय किया है.
  4. platform कस्टम सिग्नल को सेट करने और इस्तेमाल करने के लिए, अपने ऐप्लिकेशन कोड को अपडेट करें.

अब आपका ऐप्लिकेशन, टेंप्लेट के आकलन के दौरान सही प्रॉम्प्ट और मॉडल को निकाल सकता है. साथ ही, इनका इस्तेमाल करके हर क्लाइंट को उनकी पसंद के मुताबिक जवाब दे सकता है.

Firebase कंसोल में कस्टम सिग्नल की शर्तें बनाने के लिए, यहां दिए गए नियम टाइप का इस्तेमाल किया जा सकता है.

ऑपरेटर की कैटगरी ऑपरेटर मान ध्यान दें
टेक्स्ट पूरी तरह से मैच करता है, इसमें शामिल है, इसमें शामिल नहीं है, इसमें रेगुलर एक्सप्रेशन शामिल है

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

contains regex ऑपरेटर का इस्तेमाल करते समय, RE2 फ़ॉर्मैट में रेगुलर एक्सप्रेशन बनाए जा सकते हैं. आपका रेगुलर एक्सप्रेशन, टारगेट वर्शन स्ट्रिंग के सभी या कुछ हिस्से से मैच कर सकता है. ^ और $ ऐंकर का इस्तेमाल करके, टारगेट स्ट्रिंग की शुरुआत, आखिर या पूरे हिस्से से मेल खाया जा सकता है.

संख्याएं <, <=, =, !=, >, >= दशमलव बिंदु के दोनों ओर ज़्यादा से ज़्यादा दस अंक वाली संख्या.
वर्शन <, <=, =, !=, >, >= यह संख्या, मैच करने के लिए वर्शन नंबर दिखाती है. उदाहरण के लिए, 2.1.0.

अपने ऐप्लिकेशन में कस्टम सिग्नल जोड़ने का तरीका जानने के लिए, अपने सर्वर ऐप्लिकेशन को कॉन्फ़िगर करें लेख पढ़ें.

खोज के पैरामीटर और शर्तें

Firebase कंसोल में, अपने प्रोजेक्ट के पैरामीटर की, पैरामीटर वैल्यू की, और शर्तों की कुंजियां खोजी जा सकती हैं. इसके लिए, Remote Config पैरामीटर टैब में सबसे ऊपर मौजूद खोज बॉक्स का इस्तेमाल करें.

पैरामीटर और शर्तों की सीमाएं

किसी Firebase प्रोजेक्ट में, ज़्यादा से ज़्यादा 2, 000 पैरामीटर और 500 शर्तें हो सकती हैं. पैरामीटर की कुंजियां 256 वर्णों तक हो सकती हैं. इनकी शुरुआत अंडरस्कोर या अंग्रेज़ी के अक्षर (A-Z, a-z) से होनी चाहिए. इनमें संख्याएं भी शामिल हो सकती हैं. किसी प्रोजेक्ट में पैरामीटर वैल्यू स्ट्रिंग की कुल लंबाई 10,00,000 वर्णों से ज़्यादा नहीं हो सकती.

पैरामीटर और शर्तों में हुए बदलाव देखना

Firebase कंसोल में जाकर, अपने Remote Config टेंप्लेट में हुए हाल के बदलाव देखे जा सकते हैं. हर पैरामीटर और शर्त के लिए, ये काम किए जा सकते हैं:

  • उस उपयोगकर्ता का नाम देखें जिसने पैरामीटर या शर्त में आखिरी बार बदलाव किया था.

  • अगर बदलाव उसी दिन हुआ है, तो देखें कि बदलाव को ऐक्टिव Remote Config टेंप्लेट में पब्लिश किए हुए कितने मिनट या घंटे हो गए हैं.

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

पैरामीटर के बदलाव का इतिहास

Remote Config पैरामीटर पेज पर, आखिरी बार पब्लिश किया गया कॉलम में, हर पैरामीटर में बदलाव करने वाले आखिरी उपयोगकर्ता और बदलाव को आखिरी बार पब्लिश करने की तारीख दिखती है:

  • ग्रुप किए गए पैरामीटर के लिए बदलाव का मेटाडेटा देखने के लिए, पैरामीटर ग्रुप को बड़ा करें.

  • पब्लिश करने की तारीख के हिसाब से बढ़ते या घटते क्रम में लगाने के लिए, पिछली बार पब्लिश किया गया कॉलम के लेबल पर क्लिक करें.

शर्तों के बदलाव का इतिहास

Remote Config शर्तें पेज पर, आपको हर शर्त के नीचे पिछली बार बदलाव किया गया के बगल में, उस उपयोगकर्ता का नाम और बदलाव करने की तारीख दिखती है जिसने शर्त में पिछली बार बदलाव किया था.

अगले चरण

Remote Config का इस्तेमाल करने के लिए, अपने Firebase प्रोजेक्ट और सर्वर ऐप्लिकेशन को कॉन्फ़िगर करने के लिए, सर्वर एनवायरमेंट में Remote Config का इस्तेमाल करना लेख पढ़ें.

Remote Config का इस्तेमाल करने के लिए, अपने Firebase प्रोजेक्ट और ऐप्लिकेशन को कॉन्फ़िगर करने के लिए, Firebase Remote Config का इस्तेमाल शुरू करना लेख पढ़ें.