Check out what’s new from Firebase at Google I/O 2022. Learn more

फायरबेस रिमोट कॉन्फिग के साथ आरंभ करें

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

रिमोट कॉन्फिग लाइब्रेरी का उपयोग इन-ऐप डिफॉल्ट पैरामीटर मानों को स्टोर करने के लिए किया जाता है, रिमोट कॉन्फिग बैकएंड से अपडेट किए गए पैरामीटर मान प्राप्त करते हैं, और जब आपके ऐप को प्राप्त किए गए मान उपलब्ध कराए जाते हैं तो नियंत्रण करते हैं। अधिक जानने के लिए, रिमोट कॉन्फिग लोडिंग रणनीतियाँ देखें।

यह मार्गदर्शिका आपको आरंभ करने के चरणों के बारे में बताती है और कुछ नमूना कोड प्रदान करती है, जो सभी फायरबेस/क्विकस्टार्ट-यूनिटी गिटहब रिपॉजिटरी से क्लोन या डाउनलोड करने के लिए उपलब्ध है।

अपने ऐप में रिमोट कॉन्फिग जोड़ें

इससे पहले कि आप रिमोट कॉन्फिग का उपयोग कर सकें, आपको यह करना होगा:

  • अपना एकता प्रोजेक्ट पंजीकृत करें और इसे फायरबेस का उपयोग करने के लिए कॉन्फ़िगर करें।

    • अगर आपका यूनिटी प्रोजेक्ट पहले से ही फायरबेस का उपयोग करता है, तो यह पहले से पंजीकृत है और फायरबेस के लिए कॉन्फ़िगर किया गया है।

    • यदि आपके पास एकता परियोजना नहीं है, तो आप एक नमूना ऐप डाउनलोड कर सकते हैं।

  • अपने यूनिटी प्रोजेक्ट में Firebase Unity SDK (विशेष रूप से, FirebaseRemoteConfig.unitypackage ) जोड़ें।

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

इन-ऐप डिफ़ॉल्ट पैरामीटर मान सेट करें

आप रिमोट कॉन्फिग ऑब्जेक्ट में इन-ऐप डिफॉल्ट पैरामीटर मान सेट कर सकते हैं, ताकि आपका ऐप रिमोट कॉन्फिग बैकएंड से कनेक्ट होने से पहले जैसा व्यवहार करे, और ताकि बैकएंड में कोई भी सेट न होने पर डिफ़ॉल्ट मान उपलब्ध हों।

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

(जब SetDefaultsAsync() कहा जाता है तो गैर-स्ट्रिंग गुण संपत्ति के प्रकार में परिवर्तित हो जाएंगे)।

System.Collections.Generic.Dictionary<string, object> defaults =
  new System.Collections.Generic.Dictionary<string, object>();

// These are the values that are used if we haven't fetched data from the
// server
// yet, or if we ask for values that the server doesn't have:
defaults.Add("config_test_string", "default local string");
defaults.Add("config_test_int", 1);
defaults.Add("config_test_float", 1.0);
defaults.Add("config_test_bool", false);

Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.SetDefaultsAsync(defaults)
  .ContinueWithOnMainThread(task => {

अपने ऐप में उपयोग करने के लिए पैरामीटर मान प्राप्त करें

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

इन मानों को प्राप्त करने के लिए, पैरामीटर कुंजी को तर्क के रूप में प्रदान करते हुए GetValue() का उपयोग करें। यह एक ConfigValue देता है, जिसमें मान को विभिन्न आधार प्रकारों में बदलने के गुण होते हैं।

अपने ऐप्लिकेशन को Firebase कंसोल से कनेक्ट करें

Firebase कंसोल में, अपने ऐप्लिकेशन को अपने Firebase प्रोजेक्ट में जोड़ें.

पैरामीटर मान सेट करें

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

मान प्राप्त करें और सक्रिय करें (आवश्यकतानुसार)

रिमोट कॉन्फिग बैकएंड से पैरामीटर मान लाने के लिए, FetchAsync() विधि को कॉल करें। बैकएंड पर आपके द्वारा सेट किया गया कोई भी मान रिमोट कॉन्फिग ऑब्जेक्ट में प्राप्त और कैश किया जाता है।

// Start a fetch request.
// FetchAsync only fetches new data if the current data is older than the provided
// timespan.  Otherwise it assumes the data is "recent enough", and does nothing.
// By default the timespan is 12 hours, and for production apps, this is a good
// number. For this example though, it's set to a timespan of zero, so that
// changes in the console will always show up immediately.
public Task FetchDataAsync() {
  DebugLog("Fetching data...");
  System.Threading.Tasks.Task fetchTask =
  Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.FetchAsync(
      TimeSpan.Zero);
  return fetchTask.ContinueWithOnMainThread(FetchComplete);
}

FetchAsync() के माध्यम से प्राप्त किए गए मान स्थानीय रूप से कैश किए जाते हैं जब फ़ेच पूरा हो जाता है, लेकिन तब तक उपलब्ध नहीं कराया जाता है जब तक कि ActivateFetched() को लागू नहीं किया जाता है। चूंकि FetchAsync() एसिंक्रोनस रूप से निष्पादित होता है, यह आपको यह सुनिश्चित करने में सक्षम बनाता है कि नए मान मध्य-गणना पर लागू नहीं होते हैं, या अन्य समय में समस्या या अजीब व्यवहार हो सकता है।

(वैकल्पिक) डेवलपर मोड सक्षम करें

डेवलपर मोड को सक्षम करने के लिए, जिसका उपयोग विकास के दौरान थ्रॉटलिंग को अक्षम करने के लिए किया जा सकता है, आप FirebaseRemoteConfig.Setting संपत्ति का उपयोग कर सकते हैं, ConfigSettings के साथ एक नई ConfigSettings को IsDeveloperMode पर सेट कर सकते हैं।

अगले कदम

यदि आपने पहले से ऐसा नहीं किया है, तो Remote Config उपयोग के मामलों का अन्वेषण करें, और कुछ प्रमुख अवधारणाओं और उन्नत कार्यनीतियों के दस्तावेज़ीकरण पर एक नज़र डालें, जिनमें शामिल हैं: