इस पेज पर, Remote Config बैकएंड एपीआई या Firebase कंसोल का इस्तेमाल करके, शर्त के साथ एक्सप्रेशन बनाने के बारे में रेफ़रंस जानकारी दी गई है. बैकएंड एपीआई सेट अप करने और उनका इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, प्रोग्राम के हिसाब से रिमोट कॉन्फ़िगरेशन में बदलाव करना लेख पढ़ें.
कंडिशन बनाने के लिए इस्तेमाल किए गए एलिमेंट
Remote Config REST API में उन सभी एलिमेंट का इस्तेमाल किया जा सकता है जिनका इस्तेमाल, Firebase Console का इस्तेमाल करके Remote Config को कॉन्फ़िगर करते समय शर्तें बनाने के लिए किया जाता है:
| तत्व | ब्यौरा |
|---|---|
&& |
अगर किसी शर्त के लिए एक से ज़्यादा एलिमेंट का इस्तेमाल किया जा रहा है, तो एलिमेंट का लॉजिकल "और" बनाने के लिए इसका इस्तेमाल किया जाता है. अगर किसी एलिमेंट का इस्तेमाल REST सिंटैक्स में ध्यान दें: ऐंड (&) के पहले और बाद में स्पेस होना ज़रूरी है. उदाहरण के लिए:
|
app.build |
यह फ़ंक्शन, ऐप्लिकेशन के बिल्ड नंबर की वैल्यू के आधार पर ध्यान दें: यह सुविधा सिर्फ़ Apple और Android डिवाइसों पर उपलब्ध है. Apple के लिए, CFBundleVersion की वैल्यू का इस्तेमाल करें. Android के लिए, versionCode की वैल्यू का इस्तेमाल करें. |
app.version |
यह फ़ंक्शन, ऐप्लिकेशन के वर्शन नंबर की वैल्यू के आधार पर ध्यान दें: Android डिवाइसों के लिए, versionName की वैल्यू का इस्तेमाल करें. वहीं, Apple डिवाइसों के लिए, CFBundleShortVersionString की वैल्यू का इस्तेमाल करें. |
app.id |
ऐप्लिकेशन के Firebase ऐप्लिकेशन आईडी के आधार पर कोई एलिमेंट |
app.audiences |
यह एक ऐसा एलिमेंट है जो एक या उससे ज़्यादा Firebase Analytics ऑडियंस में उपयोगकर्ता की मौजूदगी या गैर-मौजूदगी के आधार पर, TRUE या FALSE के तौर पर दिखता है. |
app.firstOpenTimestamp |
यह एक ऐसा एलिमेंट है जो उपयोगकर्ता के ऐप्लिकेशन को पहली बार लॉन्च करने पर आधारित होता है. इसे Google Analytics first_open इवेंट से हासिल किया जाता है. इसमें ISO तारीख के फ़ॉर्मैट का इस्तेमाल किया जाता है. साथ ही, इसमें एक तय टाइम ज़ोन तय करने का विकल्प होता है. उदाहरण के लिए, app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles').
अगर कोई टाइम ज़ोन नहीं दिया गया है, तो जीएमटी का इस्तेमाल किया जाता है.
|
app.userProperty |
यह एक ऐसा एलिमेंट है जिसकी वैल्यू, Google Analytics
उपयोगकर्ता प्रॉपर्टी की संख्या या स्ट्रिंग वैल्यू के आधार पर TRUE या FALSE होती है. |
app.operatingSystemAndVersion |
यह एक ऐसा एलिमेंट है जो उस ऑपरेटिंग सिस्टम पर आधारित होता है जिस पर कोई ऐप्लिकेशन चल रहा है.
ओएस और ओएस वर्शन, तय किए गए टारगेट से मेल खाने पर, इसकी वैल्यू ध्यान दें: यह सुविधा सिर्फ़ वेब ऐप्लिकेशन के लिए उपलब्ध है. |
app.browserAndVersion |
यह एक ऐसा एलिमेंट है जो उस ब्राउज़र पर आधारित होता है जिस पर ऐप्लिकेशन चल रहा है.
अगर ब्राउज़र और ब्राउज़र का वर्शन, तय किए गए टारगेट से मैच करता है, तो इसकी वैल्यू ध्यान दें: यह सुविधा सिर्फ़ वेब ऐप्लिकेशन के लिए उपलब्ध है. |
app.firebaseInstallationId |
यह एलिमेंट, किसी डिवाइस पर ऐप्लिकेशन इंस्टॉल करने के आईडी पर आधारित होता है.
installation
ID, तय किए गए किसी इंस्टॉलेशन आईडी से मैच होने पर, इसकी वैल्यू TRUE होती है. |
app.customSignal |
यह एक ऐसा एलिमेंट है जिसकी वैल्यू TRUE या FALSE होती है. यह वैल्यू, कस्टम सिग्नल की शर्तों की न्यूमेरिक, सिमैंटिक या स्ट्रिंग वैल्यू के आधार पर तय होती है. |
device.country |
यह डिवाइस के उस क्षेत्र/देश के हिसाब से तय होता है जहां डिवाइस मौजूद है. इसके लिए, आईएसओ 3166-1 ऐल्फ़ा-2 स्टैंडर्ड का इस्तेमाल किया जाता है. उदाहरण के लिए, US या UK. अगर कोई देश, अनुमानित देश के कोड से मेल खाता है, तो इस फ़ंक्शन का नतीजा 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.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 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 |