Firebase रिमोट कॉन्फ़िगरेशन का इस्तेमाल शुरू करना


Firebase रिमोट कॉन्फ़िगरेशन का इस्तेमाल करके, अपने ऐप्लिकेशन में पैरामीटर तय किए जा सकते हैं और उसे अपडेट किया जा सकता है क्लाउड में इनकी वैल्यू इस्तेमाल की जा सकती हैं. इनकी मदद से, टेंप्लेट के काम करने के तरीके और लुक में बदलाव किया जा सकता है आपके ऐप्लिकेशन का अपडेट डिस्ट्रिब्यूट किए बिना. इस गाइड में, आपको YouTube Shopping का इस्तेमाल शुरू करने का तरीका बताया गया है. इसके अलावा, सैंपल कोड.

पहला चरण: अपने ऐप्लिकेशन में Firebase और रिमोट कॉन्फ़िगरेशन SDK टूल जोड़ना

  1. Flutter के लिए Firebase SDK टूल को इंस्टॉल और शुरू करना पहले से नहीं किया है.

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

  3. अपने Flutter प्रोजेक्ट की रूट डायरेक्ट्री से, नीचे दिए गए काम करें कमांड:

    flutter pub add firebase_remote_config
    

    इसके अलावा, रिमोट कॉन्फ़िगरेशन सेट अप करने के दौरान, आपको Firebase SDK टूल जोड़ना होगा के लिए:

    flutter pub add firebase_analytics
    
  4. अपना प्रोजेक्ट फिर से बनाएं:

    flutter run
    
  5. अगर macOS पर Remote Config का इस्तेमाल किया जा रहा है, तो कीचेन शेयर करना Xcode में हो सकता है.

दूसरा चरण: रिमोट कॉन्फ़िगरेशन सिंगलटन ऑब्जेक्ट पाना

रिमोट कॉन्फ़िगरेशन ऑब्जेक्ट इंस्टेंस पाएं और बार-बार रीफ़्रेश होने के लिए, फ़ेच करने का कम से कम इंटरवल:

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

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

डेवलपमेंट के दौरान, यह सुझाव दिया जाता है कि फ़ेच किए जाने की संख्या, कम से कम कितनी हो अंतराल. ज़्यादा जानकारी के लिए, थ्रॉटलिंग देखें.

तीसरा चरण: ऐप्लिकेशन में डिफ़ॉल्ट पैरामीटर वैल्यू को सेट करना

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

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

चौथा चरण: अपने ऐप्लिकेशन में इस्तेमाल करने के लिए पैरामीटर वैल्यू पाना

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

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

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

पांचवां चरण: रिमोट कॉन्फ़िगरेशन बैकएंड में पैरामीटर वैल्यू सेट करना

Firebase कंसोल या रिमोट कॉन्फ़िगरेशन बैकएंड एपीआई, आपके पास इन-ऐप्लिकेशन वैल्यू को बदलने वाली नई सर्वर साइड डिफ़ॉल्ट वैल्यू बनाने का विकल्प है और उपयोगकर्ता टारगेटिंग के हिसाब से तय करें. इस सेक्शन पर इन वैल्यू को बनाने के लिए, Firebase कंसोल का तरीका बताता है.

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

छठा चरण: वैल्यू फ़ेच और चालू करना

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

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

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

    await remoteConfig.fetchAndActivate();
    

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

सातवां चरण: रीयल टाइम में अपडेट सुनना

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

ध्यान दें कि वेब के लिए रीयल-टाइम रिमोट कॉन्फ़िगरेशन उपलब्ध नहीं है.

  1. अपने ऐप्लिकेशन में, अपडेट सुनने के लिए onConfigUpdated का इस्तेमाल करें और पैरामीटर की नई वैल्यू अपने-आप फ़ेच कर सकता है.

     remoteConfig.onConfigUpdated.listen((event) async {
       await remoteConfig.activate();
    
       // Use the new config values here.
     });
    
  2. अगली बार आपके रिमोट कॉन्फ़िगरेशन का नया वर्शन पब्लिश करने पर, आपका ऐप्लिकेशन चला रहे हैं और बदलावों को सुनने से नया कॉन्फ़िगरेशन चालू हो जाएगा.

थ्रॉटलिंग

अगर कोई ऐप्लिकेशन कम समय में कई बार फ़ेच किया जाता है, तो फ़ेच कॉल थ्रॉटल किया गया और 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),
));

अगले चरण

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