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

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

1. अपने ऐप में फायरबेस और रिमोट कॉन्फिगर एसडीके जोड़ें

  1. यदि आपने पहले से ऐसा नहीं किया है तो फ़्लटर के लिए फायरबेस एसडीके स्थापित करें और प्रारंभ करें

  2. रिमोट कॉन्फिग के लिए, उपयोगकर्ता प्रॉपर्टी और ऑडियंस के लिए ऐप इंस्टेंस के सशर्त लक्ष्यीकरण के लिए Google Analytics आवश्यक है। सुनिश्चित करें कि आपने अपने प्रोजेक्ट में Google Analytics को सक्षम किया है।

  3. अपने फ़्लटर प्रोजेक्ट की रूट डायरेक्टरी से, रिमोट कॉन्फ़िग प्लगइन स्थापित करने के लिए निम्न कमांड चलाएँ:

    flutter pub add firebase_remote_config
    

    साथ ही, Remote Config को सेट करने के भाग के रूप में, आपको Google Analytics के लिए Firebase SDK को अपने ऐप्लिकेशन में जोड़ना होगा:

    flutter pub add firebase_analytics
    
  4. अपनी परियोजना का पुनर्निर्माण करें:

    flutter run
    

2. रिमोट कॉन्फिग सिंगलटन ऑब्जेक्ट प्राप्त करें

रिमोट कॉन्फ़िगरेशन ऑब्जेक्ट इंस्टेंस प्राप्त करें और बार-बार रीफ्रेश करने की अनुमति देने के लिए न्यूनतम फ़ेच अंतराल सेट करें:

final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
    fetchTimeout: const Duration(minutes: 1),
    minimumFetchInterval: const Duration(hours: 1),
));

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

विकास के दौरान, अपेक्षाकृत कम न्यूनतम फ़ेच अंतराल सेट करने की अनुशंसा की जाती है। अधिक जानकारी के लिए थ्रॉटलिंग देखें।

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

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

await remoteConfig.setDefaults(const {
    "example_param_1": 42,
    "example_param_2": 3.14159,
    "example_param_3": true,
    "example_param_4": "Hello, world!",
});

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

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

इन मानों को प्राप्त करने के लिए, उस मानचित्र के नीचे सूचीबद्ध विधि को आपके ऐप द्वारा अपेक्षित डेटा प्रकार पर कॉल करें, पैरामीटर कुंजी को तर्क के रूप में प्रदान करें:

  • getBool()
  • getDouble()
  • getInt()
  • getString()

5. रिमोट कॉन्फिग बैकएंड में पैरामीटर मान सेट करें

फायरबेस कंसोल या रिमोट कॉन्फिग बैकएंड एपीआई का उपयोग करके, आप नए सर्वर-साइड डिफ़ॉल्ट मान बना सकते हैं जो आपके वांछित सशर्त तर्क या उपयोगकर्ता लक्ष्यीकरण के अनुसार इन-ऐप मानों को ओवरराइड करते हैं। यह खंड इन मानों को बनाने के लिए फायरबेस कंसोल चरणों का वर्णन करता है।

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

6. मान प्राप्त करें और सक्रिय करें

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

  2. अपने ऐप के लिए फ़ेच किए गए पैरामीटर मान उपलब्ध कराने के लिए, activate() विधि को कॉल करें।

    उन मामलों के लिए जहां आप एक कॉल में मान प्राप्त करना और सक्रिय करना चाहते हैं, आप रिमोट कॉन्फिग बैकएंड से मान प्राप्त करने और उन्हें ऐप पर उपलब्ध कराने के लिए एक fetchAndActivate() अनुरोध का उपयोग कर सकते हैं:

    await remoteConfig.fetchAndActivate();
    

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

थ्रॉटलिंग

अगर कोई ऐप कम समय में कई बार फ़ेच करता है, तो फ़ेच कॉल्स को थ्रॉटल कर दिया जाएगा और FirebaseRemoteConfig की lastFetchStatus प्रॉपर्टी का मान RemoteConfigFetchStatus.throttle होगा।

रिमोट कॉन्फ़िगरेशन के लिए डिफ़ॉल्ट न्यूनतम फ़ेच अंतराल 12 घंटे है, जिसका अर्थ है कि कॉन्फ़िगरेशन को बैकएंड से 12 घंटे की विंडो में एक से अधिक बार प्राप्त नहीं किया जाएगा, भले ही कितने फ़ेच कॉल वास्तव में किए गए हों।

ऐप डेवलपमेंट के दौरान, हो सकता है कि आप कॉन्फिग को बार-बार लाना और सक्रिय करना चाहें (प्रति घंटे कई बार) ताकि आप अपने ऐप को विकसित और परीक्षण करते समय तेजी से पुनरावृति कर सकें। अधिकतम 10 डेवलपर्स वाले प्रोजेक्ट पर तेजी से पुनरावृत्ति को समायोजित करने के लिए, आप अस्थायी रूप से setConfigSettings() के साथ कम न्यूनतम फ़ेच अंतराल सेट कर सकते हैं।

final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
    fetchTimeout: const Duration(minutes: 1),
    minimumFetchInterval: const Duration(minutes: 5),
));

Next steps

If you haven't already, explore the Remote Config use cases , and take a look at some of the key concepts and advanced strategies documentation, including: