Catch up on highlights from Firebase at Google I/O 2023. Learn more

रिमोट कॉन्फिग सशर्त अभिव्यक्ति संदर्भ

इस पृष्ठ में Remote Config बैकएंड APIs या Firebase कंसोल का उपयोग करके सशर्त भाव बनाने के लिए संदर्भ जानकारी है। बैकएंड एपीआई को सेट अप करने और उपयोग करने के बारे में अधिक जानकारी के लिए, रिमोट कॉन्फिग को प्रोग्रामेटिक रूप से संशोधित करें देखें।

स्थितियों को बनाने के लिए प्रयुक्त तत्व

Remote Config REST API उन्हीं तत्वों का समर्थन करता है जिनका उपयोग आप Firebase कंसोल का उपयोग करके Remote Config को कॉन्फ़िगर करते समय स्थितियां बनाने के लिए कर सकते हैं:

तत्व विवरण
&&

किसी शर्त के लिए एक से अधिक तत्वों का उपयोग करने पर तत्वों का तार्किक "और" बनाने के लिए उपयोग किया जाता है। यदि किसी तत्व का उपयोग REST सिंटैक्स में && के बिना किया जाता है, तो उस तत्व को एक शर्त के रूप में माना जाता है।

नोट: एंपरसेंड के पहले और बाद में एक जगह की आवश्यकता होती है। उदाहरण के लिए: element1 && element2

app.build

ऐप के बिल्ड नंबर के मान के आधार पर TRUE या FALSE का मूल्यांकन करता है।

नोट: केवल Apple और Android उपकरणों पर उपलब्ध है। Apple के लिए, CFBundleVersion के मान का उपयोग करें और Android के लिए, versionCode के मान का उपयोग करें।

app.version

ऐप के संस्करण संख्या के मान के आधार पर TRUE या FALSE का मूल्यांकन करता है।

नोट: Android उपकरणों के लिए versionName के मान का उपयोग करें, और Apple उपकरणों के लिए CFBundleShortVersionString के मान का उपयोग करें।

app.id ऐप के फायरबेस ऐप आईडी पर आधारित एक तत्व
app.audiences एक तत्व जो एक या अधिक फायरबेस एनालिटिक्स ऑडियंस में उपयोगकर्ता की उपस्थिति या अनुपस्थिति के आधार पर TRUE या FALSE का मूल्यांकन करता है।
app.firstOpenTimestamp उपयोगकर्ता द्वारा पहली बार ऐप लॉन्च करने पर आधारित तत्व, Google Analytics first_open ईवेंट से प्राप्त किया गया। निश्चित समय क्षेत्र निर्दिष्ट करने के विकल्प के साथ ISO दिनांक स्वरूप का उपयोग करता है; उदाहरण के लिए, app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') यदि कोई समय क्षेत्र निर्दिष्ट नहीं है, तो GMT का उपयोग किया जाता है।
app.userProperty एक तत्व जो फायरबेस एनालिटिक्स उपयोगकर्ता संपत्ति के संख्यात्मक या स्ट्रिंग मान के आधार पर TRUE या FALSE का मूल्यांकन करता है।
app.operatingSystemAndVersion

ऑपरेटिंग सिस्टम पर आधारित एक तत्व जिस पर ऐप चल रहा है। OS और OS संस्करण निर्दिष्ट लक्ष्य से मेल खाने पर TRUE का मूल्यांकन करता है।

नोट: केवल वेब ऐप्स के लिए उपलब्ध है।

app.browserAndVersion

ब्राउज़र पर आधारित एक तत्व जिस पर ऐप चल रहा है। जब ब्राउज़र और ब्राउज़र संस्करण निर्दिष्ट लक्ष्य से मेल खाते हैं तो TRUE का मूल्यांकन करता है।

नोट: केवल वेब ऐप्स के लिए उपलब्ध है।

app.firebaseInstallationId विशिष्ट डिवाइस इंस्टॉलेशन की आईडी पर आधारित एक तत्व। TRUE का मूल्यांकन करता है जब स्थापना आईडी निर्दिष्ट स्थापना आईडी में से एक से मेल खाती है।
device.country ISO 3166-1 अल्फ़ा-2 मानक (उदाहरण के लिए, यूएस या यूके) का उपयोग करके उस क्षेत्र/देश पर आधारित एक तत्व जिसमें डिवाइस स्थित है। जब कोई देश अपेक्षित देश कोड से मेल खाता है तो TRUE का मूल्यांकन करता है।
device.dateTime डिवाइस द्वारा किए गए अंतिम फ़ेच के समय पर आधारित एक तत्व। निश्चित समय क्षेत्र निर्दिष्ट करने के विकल्प के साथ ISO दिनांक स्वरूप का उपयोग करता है; उदाहरण के लिए, dateTime('2017-03-22T13:39:44', 'America/Los_Angeles')
device.language डिवाइस पर चुनी गई भाषा पर आधारित तत्व। भाषा को IETF भाषा टैग जैसे es-ES, pt-BR, या en-US का उपयोग करके प्रदर्शित किया जाता है। जब कोई भाषा अपेक्षित भाषा कोड से मेल खाती है तो TRUE का मूल्यांकन करता है।
device.os डिवाइस (Apple या Android) पर उपयोग किए जाने वाले ऑपरेटिंग सिस्टम पर आधारित एक तत्व। डिवाइस OS अपेक्षित प्रकार होने पर TRUE का मूल्यांकन करता है।
percent बेतरतीब ढंग से निर्दिष्ट भिन्नात्मक प्रतिशत (0.000001% जितना छोटा नमूना आकार के साथ) में उपयोगकर्ता के शामिल किए जाने के आधार पर TRUE का मूल्यांकन करता है।

एकल-तत्व स्थिति में तीन फ़ील्ड होते हैं:

  1. मनमाने ढंग से परिभाषित name (अधिकतम 100 वर्ण)
  2. एक सशर्त अभिव्यक्ति जो ऊपर दिखाए गए तत्वों से बनी TRUE या FALSE का मूल्यांकन करती है।
  3. (वैकल्पिक) tagColor , जो " BLUE ", " BROWN ", " CYAN ", " DEEP_ORANGE ", " GREEN ", " INDIGO ", " LIME ", " ORANGE ", " PINK ", " PURPLE ", या हो सकता है " TEAL "। रंग केस-संवेदी है, और केवल यह प्रभावित करता है कि फायरबेस कंसोल में स्थितियां कैसे प्रदर्शित होती हैं।

समर्थित ऑपरेटरों

उदाहरण के लिए, app.build.notContains([123, 456]) वास्तविक ऐप बिल्ड 123 या 492 होने पर TRUE लौटाता है, लेकिन वास्तविक ऐप बिल्ड 999 होने पर FALSE लौटाता है। उदाहरण के लिए, app.version.notContains([123, 456]) वास्तविक ऐप संस्करण 123 या 492 होने पर TRUE लौटाता है, लेकिन वास्तविक ऐप संस्करण 999 होने पर FALSE लौटाता है।
तत्व समर्थित ऑपरेटरों विवरण
app.audiences .inAtLeastOne([...]) यदि वास्तविक ऑडियंस सूची में कम से कम एक ऑडियंस के नाम से मेल खाती है, तो TRUE लौटाता है।
उदाहरण के लिए:

app.audiences.inAtLeastOne(['Audience 1', 'Audience 2'])

app.audiences .notInAtLeastOne([...]) यदि वास्तविक ऑडियंस सूची में कम से कम एक ऑडियंस नाम से मेल नहीं खाता है तो TRUE लौटाता है।
app.audiences .inAll([...]) यदि वास्तविक ऑडियंस सूची में प्रत्येक ऑडियंस के नाम का सदस्य है, तो TRUE लौटाता है।
app.audiences .notInAll([...]) यदि वास्तविक ऑडियंस सूची में किसी ऑडियंस का सदस्य नहीं है, तो TRUE लौटाता है।
app.firstOpenTimestamp <=, > हालत में निर्दिष्ट समय के साथ first_open घटना के समय की तुलना करता है और ऑपरेटर के आधार पर TRUE या FALSE लौटाता है।
नमूना उपयोग:
app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') .
एक सीमा निर्दिष्ट करने के लिए:
app.firstOpenTimestamp >= ('2022-11-01T00:00:00') && app.firstOpenTimestamp < ('2022-12-01T00:00:00') यदि कोई समय क्षेत्र निर्दिष्ट नहीं है, तो GMT का उपयोग किया जाता है।
app.userProperty < , <= , == , != , >= , > यदि वास्तविक उपयोगकर्ता गुण ऑपरेटर से मिलान करने वाले तरीके से निर्दिष्ट मान की संख्यात्मक रूप से तुलना करता है, तो TRUE लौटाता है।
app.userProperty .contains([...]) यदि कोई लक्ष्य मान वास्तविक उपयोगकर्ता गुण का सबस्ट्रिंग है, तो TRUE लौटाता है।
app.userProperty .notContains([...]) यदि कोई भी लक्ष्य मान वास्तविक उपयोगकर्ता गुण का सबस्ट्रिंग नहीं है, तो TRUE लौटाता है।
app.userProperty .exactlyMatches([...]) यदि वास्तविक उपयोगकर्ता गुण सूची में किसी भी लक्ष्य मान से सटीक रूप से मेल खाता है (केस-संवेदी) तो TRUE लौटाता है।
app.userProperty .matches([...]) यदि सूची में कोई लक्ष्य रेगुलर एक्सप्रेशन किसी सबस्ट्रिंग, या संपूर्ण, वास्तविक मान से मेल खाता है, तो TRUE लौटाता है। संपूर्ण स्ट्रिंग के मिलान को बाध्य करने के लिए, "^" के साथ नियमित अभिव्यक्ति की शुरुआत करें और इसे "$" के साथ प्रत्यय दें। RE2 सिंटैक्स का उपयोग करता है।
app.id == यदि निर्दिष्ट मान ऐप की ऐप आईडी से मेल खाता है तो TRUE लौटाता है।
app.build < , <= , == , != , >= , > यदि वास्तविक ऐप बिल्ड संख्यात्मक रूप से ऑपरेटर से मेल खाने वाले तरीके से निर्दिष्ट मान की तुलना करता है, तो TRUE लौटाता है।
app.build .contains([...]) यदि कोई भी लक्ष्य मान वास्तविक ऐप बिल्ड का एक सबस्ट्रिंग है, तो TRUE लौटाता है - उदाहरण के लिए, "a" और "bc" "abc" के सबस्ट्रिंग हैं।
app.build .notContains([...]) यदि कोई भी लक्ष्य मान वास्तविक ऐप बिल्ड का सबस्ट्रिंग नहीं है, तो TRUE लौटाता है।
app.build .exactlyMatches([...]) यदि वास्तविक ऐप बिल्ड सूची में किसी भी लक्ष्य मान से सटीक रूप से मेल खाता है, तो TRUE लौटाता है।
app.build .matches([...]) यदि सूची में कोई लक्ष्य रेगुलर एक्सप्रेशन किसी सबस्ट्रिंग, या संपूर्ण, वास्तविक मान से मेल खाता है, तो TRUE लौटाता है। संपूर्ण स्ट्रिंग के मिलान को बाध्य करने के लिए, "^" के साथ नियमित अभिव्यक्ति की शुरुआत करें और इसे "$" के साथ प्रत्यय दें। RE2 सिंटैक्स का उपयोग करता है।
app.version < , <= , == , != , >= , > यदि वास्तविक ऐप संस्करण संख्यात्मक रूप से ऑपरेटर से मेल खाने वाले तरीके से निर्दिष्ट मान से तुलना करता है, तो TRUE लौटाता है।
app.version .contains([...]) यदि कोई लक्ष्य मान वास्तविक ऐप संस्करण का एक सबस्ट्रिंग है, तो TRUE लौटाता है - उदाहरण के लिए, "a" और "bc" "abc" के सबस्ट्रिंग हैं।
app.version .notContains([...]) यदि कोई भी लक्ष्य मान वास्तविक ऐप संस्करण का सबस्ट्रिंग नहीं है, तो TRUE लौटाता है।
app.version .exactlyMatches([...]) यदि वास्तविक ऐप संस्करण सूची में किसी भी लक्ष्य मान से सटीक रूप से मेल खाता है, तो TRUE लौटाता है।
app.version .matches([...]) यदि सूची में कोई लक्ष्य रेगुलर एक्सप्रेशन किसी सबस्ट्रिंग, या संपूर्ण, वास्तविक मान से मेल खाता है, तो TRUE लौटाता है। संपूर्ण स्ट्रिंग के मिलान को बाध्य करने के लिए, "^" के साथ नियमित अभिव्यक्ति की शुरुआत करें और इसे "$" के साथ प्रत्यय दें। RE2 सिंटैक्स का उपयोग करता है।
app.operatingSystemAndVersion .inOne([...]) यदि OS और संस्करण सूची में किसी भी लक्ष्य मान से मेल खाते हैं तो TRUE लौटाता है।
उदाहरण के लिए:

    app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh').version.==('10.15')])
    

app.browserAndVersion .inOne([...]) यदि ब्राउज़र और संस्करण सूची में किसी भी लक्ष्य मान से मेल खाते हैं तो TRUE लौटाता है।
उदाहरण के लिए:

    app.browserAndVersion.inOne([browserName('Chrome').anyVersion])
    

app.firebaseInstallationId in [...] यदि स्थापना आईडी सूची में निर्दिष्ट किसी से मेल खाती है तो TRUE लौटाता है। नमूना उपयोग: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']
device.country in [...] यदि डिवाइस का देश सूची में निर्दिष्ट किसी भी देश से मेल खाता है तो TRUE लौटाता है। नमूना उपयोग: device.country in ['gb', 'us'] । डिवाइस देश कोड अनुरोध में डिवाइस के आईपी पते या फायरबेस एनालिटिक्स द्वारा निर्धारित देश कोड का उपयोग करके निर्धारित किया जाता है (यदि एनालिटिक्स डेटा फायरबेस के साथ साझा किया जाता है)।
device.dateTime <= , > स्थिति के लक्षित समय के साथ वर्तमान समय की तुलना करता है और ऑपरेटर के आधार पर TRUE या FALSE का मूल्यांकन करता है। नमूना उपयोग: dateTime < dateTime('2017-03-22T13:39:44')
device.language in [...] यदि ऐप की कोई भाषा सूची में किसी भाषा से मेल खाती है तो TRUE देता है। नमूना उपयोग: device.language in ['en-UK', 'en-US']
device.os == , != यदि डिवाइस का ऑपरेटिंग सिस्टम ऑपरेटर से मेल खाने वाले फ़ील्ड के मान की तुलना करता है, तो TRUE देता है।
percent <= , > , between यदि percent फ़ील्ड में मान उस मान से तुलना करता है जो ऑपरेटर से मिलान करते हुए बेतरतीब ढंग से असाइन किया गया था, तो TRUE लौटाता है।

आप शर्त नियम प्रकार में बताए अनुसार दी गई प्रतिशत सीमा के लिए बेतरतीब ढंग से असाइन किए गए ऐप इंस्टेंस के नए समूह का चयन करने के लिए एक बीज निर्दिष्ट कर सकते हैं।

ऐसा करने के लिए, ऑपरेटर से पहले बीज का नाम प्रदान करें, जैसा कि निम्नलिखित उदाहरण में है:

percent('keyName') <= 10

एक विशिष्ट श्रेणी को कॉन्फ़िगर करने के लिए, आप between ऑपरेटर का उपयोग कर सकते हैं। डिफ़ॉल्ट बीज का उपयोग करके 20 और 60 के बीच उपयोगकर्ताओं की एक श्रेणी को कॉन्फ़िगर करने के लिए:

percent between 20 and 60

कस्टम सीड का उपयोग करके 60 और 80 के बीच उपयोगकर्ताओं की श्रेणी को कॉन्फ़िगर करने के लिए:

percent('seedName') between 60 and 80