Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

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

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

स्थितियां बनाने के लिए उपयोग किए जाने वाले तत्व

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

तत्त्व विवरण
&&

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

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

app.build

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

नोट: केवल आईओएस और एंड्रॉइड डिवाइस पर उपलब्ध है। IOS के लिए, CFBundleVersion के मान का उपयोग करें और Android के लिए, versionCode के मान का उपयोग करें।

app.version

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

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

app.id ऐप के फायरबेस ऐप आईडी पर आधारित एक तत्व
app.audiences एक तत्व जो एक या अधिक Firebase Analytics ऑडियंस में उपयोगकर्ता की उपस्थिति या अनुपस्थिति के आधार पर TRUE या FALSE मूल्यांकन करता है।
app.predictionScores.id एक ऐसा तत्व जो किसी दिए गए Firebase पूर्वानुमान आईडी के लिए कॉलर की उपयोगकर्ता प्रतिशतक संभावना का मूल्यांकन करता है।
app.userProperty एक ऐसा तत्व जो किसी Firebase Analytics उपयोगकर्ता संपत्ति के अंकीय या स्ट्रिंग मान के आधार पर TRUE या FALSE मूल्यांकन करता है
app.operatingSystemAndVersion

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

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

app.browserAndVersion

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

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

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

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

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

०४७२बी२बी४२०

app.audiences .notInAtLeastOne([...]) यदि वास्तविक ऑडियंस सूची में कम से कम एक ऑडियंस के नाम से मेल नहीं खाती तो TRUE लौटाता है.
app.audiences .inAll([...]) यदि वास्तविक ऑडियंस सूची में प्रत्येक ऑडियंस के नाम का सदस्य है, तो TRUE लौटाता है.
app.audiences .notInAll([...]) यदि वास्तविक ऑडियंस सूची में किसी भी ऑडियंस का सदस्य नहीं है, तो TRUE लौटाता है.
app.predictionScores.id .between(..., ...) यदि कॉलर की उपयोगकर्ता प्रतिशतक भविष्यवाणी की संभावना दी गई सीमा में है, तो TRUE लौटाता है।
उदाहरण के लिए:

app.predictionScores.id('churn').between(0.25, 1.00)

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])
    

device.country in [...] यदि डिवाइस का देश सूची में निर्दिष्ट किसी देश से मेल खाता है, तो TRUE लौटाता है। नमूना उपयोग: device.country in ['gb', 'us'] । डिवाइस देश कोड अनुरोध में डिवाइस के आईपी पते या फायरबेस एनालिटिक्स द्वारा निर्धारित देश कोड का उपयोग करके निर्धारित किया जाता है (यदि Analytics डेटा फायरबेस के साथ साझा किया जाता है)।
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 <= , > यदि percent फ़ील्ड में मान की तुलना उस मान से की जाती है, जिसे यादृच्छिक रूप से ऑपरेटर से मेल खाते हुए असाइन किया गया था, तो TRUE देता है।

खाली स्ट्रिंग वाले पैरामीटर और कोई मान नहीं

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

जब आप अपने प्रोजेक्ट के लिए JSON फॉर्मेट में रिमोट कॉन्फिगर टेम्प्लेट प्राप्त करने के लिए रिमोट कॉन्फिगर एपीआई का उपयोग करते हैं, तो नीचे दिखाए गए अनुसार कोई मान नहीं दिखाया जाता है:

"myCondition" : {
  "useInAppDefault" : true
},

इसी तरह, (खाली स्ट्रिंग) को नीचे दिखाया गया है:

"myCondition" : {
  "value" : ""
},