इस पेज में, शर्तों वाले एक्सप्रेशन बनाने के बारे में रेफ़रंस जानकारी दी गई है. इसके लिए, Remote Config बैकएंड एपीआई या Firebase कंसोल का इस्तेमाल किया जा सकता है. बैकएंड एपीआई सेट अप करने और उनका इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, प्रोग्राम के ज़रिए रिमोट कॉन्फ़िगरेशन में बदलाव करना लेख पढ़ें.
शर्तें बनाने के लिए इस्तेमाल किए जाने वाले एलिमेंट
Remote Config REST API, उन सभी एलिमेंट के साथ काम करता है जिनका इस्तेमाल, Remote Config को कॉन्फ़िगर करते समय, शर्तें बनाने के लिए किया जा सकता है:
| एलिमेंट | ब्यौरा |
|---|---|
&& |
अगर किसी शर्त के लिए एक से ज़्यादा एलिमेंट
का इस्तेमाल किया जा रहा है, तो एलिमेंट का लॉजिकल "and" बनाने के लिए इसका इस्तेमाल किया जाता है. अगर किसी एलिमेंट का इस्तेमाल REST सिंटैक्स में
ध्यान दें: ऐंपरसैंड के पहले और बाद में एक स्पेस होना ज़रूरी है. उदाहरण के लिए:
|
app.build |
किसी ऐप्लिकेशन के बिल्ड नंबर की वैल्यू के आधार पर, ध्यान दें: यह सुविधा सिर्फ़ Apple और Android डिवाइसों पर उपलब्ध है. Apple के लिए, CFBundleVersion की वैल्यू का इस्तेमाल करें. वहीं, Android के लिए, versionCode की वैल्यू का इस्तेमाल करें. |
app.version |
किसी ऐप्लिकेशन के वर्शन नंबर की वैल्यू के आधार पर, ध्यान दें: Android डिवाइसों के लिए, versionName की वैल्यू का इस्तेमाल करें. वहीं, Apple डिवाइसों के लिए, CFBundleShortVersionString की वैल्यू का इस्तेमाल करें. |
app.id |
ऐप्लिकेशन के Firebase ऐप्लिकेशन आईडी के आधार पर एक एलिमेंट |
app.audiences |
एक ऐसा एलिमेंट जो TRUE या FALSE के तौर पर नतीजा दिखाता है, जो
Firebase Analytics ऑडियंस में उपयोगकर्ता की मौजूदगी या गैर-मौजूदगी पर आधारित है. |
app.firstOpenTimestamp |
एक ऐसा एलिमेंट जो
Google Analytics first_open इवेंट से मिले, उपयोगकर्ता के पहली बार ऐप्लिकेशन लॉन्च करने के समय के आधार पर होता है. इसमें ISO तारीख
फ़ॉर्मैट का इस्तेमाल किया जाता है. साथ ही, इसमें एक तय समय क्षेत्र तय करने का विकल्प भी होता है. उदाहरण के लिए,
app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles').
अगर कोई समय क्षेत्र तय नहीं किया जाता है, तो जीएमटी का इस्तेमाल किया जाता है.
|
app.userProperty |
एक ऐसा एलिमेंट जो TRUE या FALSE के तौर पर नतीजा दिखाता है, जो Google Analytics उपयोगकर्ता प्रॉपर्टी की संख्या या स्ट्रिंग वैल्यू पर आधारित होता है. |
app.operatingSystemAndVersion |
एक ऐसा एलिमेंट जो उस ऑपरेटिंग सिस्टम के आधार पर होता है जिस पर कोई ऐप्लिकेशन चल रहा है.
ओएस और ओएस वर्शन, तय किए गए
टारगेट से मैच होने पर, ध्यान दें: यह सुविधा सिर्फ़ वेब ऐप्लिकेशन के लिए उपलब्ध है. |
app.browserAndVersion |
एक ऐसा एलिमेंट जो उस ब्राउज़र के आधार पर होता है जिस पर कोई ऐप्लिकेशन चल रहा है.
ब्राउज़र और ब्राउज़र वर्शन, तय किए गए टारगेट से मैच होने पर, ध्यान दें: यह सुविधा सिर्फ़ वेब ऐप्लिकेशन के लिए उपलब्ध है. |
app.firebaseInstallationId |
एक ऐसा एलिमेंट जो खास डिवाइस इंस्टॉलेशन के आईडी के आधार पर होता है.
इंस्टॉलेशन आईडी, तय किए गए इंस्टॉलेशन आईडी में से किसी एक से मैच होने पर, TRUE के तौर पर नतीजा दिखाता है. |
app.customSignal |
एक ऐसा एलिमेंट जो कस्टम सिग्नल की शर्तों की संख्या, सिमैंटिक या स्ट्रिंग वैल्यू के आधार पर, TRUE या FALSE के तौर पर नतीजा दिखाता है. |
device.country |
एक ऐसा एलिमेंट जो उस इलाके/देश के आधार पर होता है जिसमें कोई डिवाइस मौजूद है. इसके लिए, आईएसओ 3166-1 ऐल्फ़ा-2 स्टैंडर्ड का इस्तेमाल किया जाता है. उदाहरण के लिए, यूएस या यूके. कोई देश, अनुमानित देश के कोड से मैच होने पर,
TRUE के तौर पर नतीजा दिखाता है. |
device.dateTime |
एक ऐसा एलिमेंट जो डिवाइस के आखिरी फ़ेच के समय के आधार पर होता है.
इसमें आईएसओ तारीख फ़ॉर्मैट का इस्तेमाल किया जाता है. साथ ही, इसमें एक तय समय क्षेत्र तय करने का विकल्प भी होता है. उदाहरण के लिए,
dateTime('2017-03-22T13:39:44', 'America/Los_Angeles'). |
device.language |
एक ऐसा एलिमेंट जो किसी डिवाइस पर चुनी गई भाषा के आधार पर होता है. भाषा को
आईईटीएफ़ लैंग्वेज टैग का इस्तेमाल करके दिखाया जाता है. जैसे, es-ES, pt-BR या en-US.
कोई भाषा, अनुमानित भाषा के कोड से मैच होने पर, TRUE के तौर पर नतीजा दिखाता है. |
device.os |
एक ऐसा एलिमेंट जो किसी डिवाइस पर इस्तेमाल किए गए ऑपरेटिंग सिस्टम (Apple या Android) के आधार पर होता है.
डिवाइस का ओएस, अनुमानित टाइप का होने पर, TRUE के तौर पर नतीजा दिखाता है. |
percent |
उपयोगकर्ता को, रैंडम तरीके से असाइन किए गए फ़्रैक्शनल प्रतिशत में शामिल करने के आधार पर, TRUE के तौर पर नतीजा दिखाता है. इसमें सैंपल साइज़ 0.000001% जितना छोटा हो सकता है. |
एक एलिमेंट वाली शर्त में तीन फ़ील्ड होते हैं:
- अपनी पसंद के मुताबिक तय किया गया
name(ज़्यादा से ज़्यादा 100 वर्ण) - एक शर्त वाला एक्सप्रेशन जो
TRUEयाFALSEके तौर पर नतीजा दिखाता है. यह ऊपर दिखाए गए एलिमेंट से बना होता है. - (ज़रूरी नहीं)
tagColor. यह "BLUE", "BROWN", "CYAN", "DEEP_ORANGE", "GREEN", "INDIGO", "LIME", "ORANGE", "PINK", "PURPLE" या "TEAL" हो सकता है. रंग केस-इनसेंसिटिव होता है. साथ ही, इससे सिर्फ़ यह तय होता है कि Firebase कंसोल में शर्तें कैसे दिखेंगी.
ये ऑपरेटर इस्तेमाल किए जा सकते हैं
उदाहरण के लिए,app.build.notContains([123, 456]) का नतीजा TRUE होता है, अगर
ऐप्लिकेशन का मौजूदा बिल्ड 123 या 492 है. हालांकि, अगर ऐप्लिकेशन का
मौजूदा बिल्ड 999 है, तो इसका नतीजा FALSE होता है.
उदाहरण के लिए,
app.version.notContains([123, 456]) का नतीजा TRUE होता है, अगर
ऐप्लिकेशन का मौजूदा वर्शन 123 या 492 है. हालांकि, अगर ऐप्लिकेशन का मौजूदा वर्शन 999 है, तो इसका नतीजा FALSE होता है.
| एलिमेंट | ये ऑपरेटर इस्तेमाल किए जा सकते हैं | ब्यौरा |
|---|---|---|
app.audiences |
.inAtLeastOne([...]) |
अगर मौजूदा ऑडियंस, सूची में मौजूद कम से कम एक
ऑडियंस के नाम से मैच होती है, तो app.audiences.inAtLeastOne(['Audience 1', 'Audience 2']) |
app.audiences |
.notInAtLeastOne([...]) |
अगर मौजूदा ऑडियंस, सूची में मौजूद कम से कम एक ऑडियंस के नाम से मैच नहीं होती है, तो |
app.audiences |
.inAll([...]) |
अगर मौजूदा ऑडियंस, सूची में मौजूद हर
ऑडियंस के नाम की सदस्य है, तो |
app.audiences |
.notInAll([...]) |
अगर मौजूदा ऑडियंस, सूची में मौजूद किसी भी ऑडियंस की सदस्य नहीं है, तो |
app.firstOpenTimestamp |
<=, > |
शर्त में तय किए गए समय के साथ, |
app.userProperty |
<, <=, ==, !=,
>=, > |
अगर मौजूदा उपयोगकर्ता प्रॉपर्टी की तुलना, संख्या के आधार पर तय की गई वैल्यू से ऑपरेटर के हिसाब से की जाती है, तो |
app.userProperty |
.contains([...]) |
अगर टारगेट वैल्यू में से कोई भी वैल्यू, मौजूदा उपयोगकर्ता प्रॉपर्टी की सबस्ट्रिंग है, तो |
app.userProperty |
.notContains([...]) |
अगर टारगेट वैल्यू में से कोई भी वैल्यू, मौजूदा उपयोगकर्ता प्रॉपर्टी की सबस्ट्रिंग नहीं है, तो |
app.userProperty |
.exactlyMatches([...]) |
अगर मौजूदा उपयोगकर्ता प्रॉपर्टी, सूची में मौजूद टारगेट वैल्यू में से किसी एक से पूरी तरह
(केस-सेंसिटिव) मैच होती है, तो |
app.userProperty |
.matches([...]) |
अगर सूची में मौजूद टारगेट रेगुलर एक्सप्रेशन में से कोई एक, मौजूदा वैल्यू की सबस्ट्रिंग या पूरी वैल्यू से मैच होता है, तो |
app.id |
== |
अगर तय की गई वैल्यू, ऐप्लिकेशन के ऐप्लिकेशन आईडी से मैच होती है, तो |
app.build |
<, <=, ==, !=,
>=, > |
अगर ऐप्लिकेशन के मौजूदा बिल्ड की तुलना, संख्या के आधार पर तय की गई वैल्यू से ऑपरेटर के हिसाब से की जाती है, तो |
app.build |
.contains([...]) |
अगर टारगेट वैल्यू में से कोई भी वैल्यू, ऐप्लिकेशन के मौजूदा बिल्ड की सबस्ट्रिंग है, तो |
app.build |
.notContains([...]) |
अगर टारगेट वैल्यू में से कोई भी वैल्यू, ऐप्लिकेशन के मौजूदा बिल्ड की सबस्ट्रिंग नहीं है, तो |
app.build |
.exactlyMatches([...]) |
अगर ऐप्लिकेशन का मौजूदा बिल्ड, सूची में मौजूद टारगेट वैल्यू में से
किसी एक से पूरी तरह मैच होता है, तो |
app.build |
.matches([...]) |
अगर सूची में मौजूद टारगेट रेगुलर एक्सप्रेशन में से कोई एक, मौजूदा वैल्यू की सबस्ट्रिंग या पूरी वैल्यू से मैच होता है, तो |
app.version |
<, <=, ==, !=,
>=, > |
अगर ऐप्लिकेशन के मौजूदा वर्शन की तुलना, संख्या के आधार पर तय की गई वैल्यू से ऑपरेटर के हिसाब से की जाती है, तो ध्यान दें: संख्या के आधार पर तुलना करने वाले ऑपरेटर, सिर्फ़ संख्या वाले सिमैंटिक
वर्शन (जैसे, |
app.version |
.contains([...]) |
अगर टारगेट वैल्यू में से कोई भी वैल्यू, ऐप्लिकेशन के मौजूदा वर्शन की सबस्ट्रिंग है, तो |
app.version |
.notContains([...]) |
अगर टारगेट वैल्यू में से कोई भी वैल्यू, ऐप्लिकेशन के मौजूदा वर्शन की सबस्ट्रिंग नहीं है, तो |
app.version |
.exactlyMatches([...]) |
अगर ऐप्लिकेशन का मौजूदा वर्शन, सूची में मौजूद टारगेट वैल्यू में से
किसी एक से पूरी तरह मैच होता है, तो |
app.version |
.matches([...]) |
अगर सूची में मौजूद टारगेट रेगुलर एक्सप्रेशन में से कोई एक, मौजूदा वैल्यू की सबस्ट्रिंग या पूरी वैल्यू से मैच होता है, तो |
app.operatingSystemAndVersion |
.inOne([...]) |
अगर ओएस और वर्शन, सूची में मौजूद टारगेट वैल्यू में से किसी एक से मैच होता है, तो
app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh')
.version.==('10.15')])
|
app.browserAndVersion |
.inOne([...]) |
अगर ब्राउज़र और वर्शन, सूची में मौजूद टारगेट वैल्यू में से किसी एक से मैच होता है, तो
app.browserAndVersion.inOne([browserName('Chrome').anyVersion])
|
app.firebaseInstallationId |
in [...] |
अगर इंस्टॉलेशन आईडी, सूची में तय किए गए किसी आईडी से मैच होता है, तो |
app.customSignal |
<, <=, ==, !=,
>=, > |
अगर कस्टम सिग्नल की शर्त की तुलना, संख्या के आधार पर तय की गई वैल्यू से ऑपरेटर के हिसाब से की जाती है, तो |
app.customSignal |
.contains([...]) |
अगर टारगेट वैल्यू में से कोई भी वैल्यू, मौजूदा कस्टम सिग्नल की शर्त की सबस्ट्रिंग है, तो |
app.customSignal |
.notContains([...]) |
अगर टारगेट वैल्यू में से कोई भी वैल्यू, मौजूदा कस्टम सिग्नल की शर्त की सबस्ट्रिंग है, तो |
app.customSignal |
.exactlyMatches([...]) |
अगर मौजूदा कस्टम सिग्नल की शर्त, सूची में मौजूद टारगेट वैल्यू में से किसी एक से पूरी तरह (केस-सेंसिटिव) मैच होती है, तो |
app.customSignal |
.matches([...]) |
अगर सूची में मौजूद टारगेट रेगुलर एक्सप्रेशन में से कोई एक, मौजूदा कस्टम सिग्नल की शर्त की सबस्ट्रिंग या पूरी वैल्यू से मैच होता है, तो |
version(app.customSignal) |
<, <=, ==, !=,
>=, > |
अगर कस्टम सिग्नल की शर्त की तुलना, सिमैंटिक के आधार पर तय की गई वैल्यू से ऑपरेटर के हिसाब से की जाती है, तो |
device.country |
in [...] |
अगर डिवाइस का देश, सूची में तय किए गए किसी देश से मैच होता है, तो |
device.dateTime |
<=, > |
मौजूदा समय की तुलना, शर्त के टारगेट समय से करता है. साथ ही, ऑपरेटर के आधार पर, |
device.language |
in [...] |
अगर ऐप्लिकेशन की कोई भाषा, सूची में मौजूद किसी भाषा से मैच होती है, तो |
device.os |
==, != |
अगर डिवाइस का ऑपरेटिंग सिस्टम, उस फ़ील्ड में मौजूद वैल्यू से ऑपरेटर के हिसाब से तुलना करता है, तो TRUE के तौर पर नतीजा दिखाता है. |
percent |
<=, >, between |
अगर ऐसा करने के लिए, ऑपरेटर से पहले सीड का नाम डालें. जैसे, यहां दिए गए उदाहरण में: percent('keyName') <= 10कोई खास रेंज कॉन्फ़िगर करने के लिए, percent between 20 and 60 कस्टम सीड का इस्तेमाल करके, 60 से 80 के बीच के उपयोगकर्ताओं की रेंज कॉन्फ़िगर करने के लिए: percent('seedName') between 60 and 80 |