Android कोडलैब (कोड बनाना सीखना) पर रिमोट कॉन्फ़िगरेशन इंटिग्रेट करना

1. परिचय

पिछली बार अपडेट किए जाने की तारीख: 09-03-2021

Firebase रिमोट कॉन्फ़िगरेशन क्या है?

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

यह सुविधा कैसे काम करती है?

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

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

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

61f12f33d2ac3133.png

आपको इनके बारे में जानकारी मिलेगी

  • Firebase रिमोट कॉन्फ़िगरेशन को लागू करने का तरीका
  • ऐप्लिकेशन को अपडेट किए बिना वैल्यू बदलने के लिए, Firebase रिमोट कॉन्फ़िगरेशन का इस्तेमाल करने का तरीका

आपको इन चीज़ों की ज़रूरत होगी

  • Android Studio का सबसे नया वर्शन
  • Firebase खाता
  • (सुझाया गया, लेकिन ज़रूरी नहीं) आपके ऐप्लिकेशन को चलाने के लिए Android डिवाइस
  • Java या Kotlin की बुनियादी जानकारी

2. सेट अप किया जा रहा है

(ज़रूरी नहीं) सैंपल कोड डाउनलोड करना

इस कोडलैब में, आपको अपना टेस्ट ऐप्लिकेशन बनाना होगा. हालांकि, अगर आपको मौजूदा सैंपल ऐप्लिकेशन को देखना और चलाना है, तो क्विकस्टार्ट सैंपल कोड डाउनलोड किया जा सकता है.

इस कोडलैब के लिए सभी कोड डाउनलोड करने के लिए, नीचे दिया गया बटन क्लिक करें:

डाउनलोड की गई ZIP फ़ाइल को अनपैक करें. इससे quickstart-android-master नाम का रूट फ़ोल्डर खुल जाएगा.

...या कमांड लाइन से, GitHub रिपॉज़िटरी का क्लोन बनाएं.

$ git clone https://github.com/firebase/quickstart-android.git

डेटा स्टोर करने की जगह में कई फ़ोल्डर होते हैं. हम android_studio_फ़ोल्डर.png config फ़ोल्डर का इस्तेमाल करेंगे.

(ज़रूरी नहीं) सैंपल कोड इंपोर्ट करना

Android Studio लॉन्च करें और स्वागत स्क्रीन में "प्रोजेक्ट इंपोर्ट करें" चुनें. इसके बाद, डाउनलोड किया गया फ़ोल्डर खोलें और android_studio_फ़ोल्डर.png कॉन्फ़िगरेशन फ़ोल्डर चुनें. इसके बाद, "खोलें" पर क्लिक करें.

5f90353b0b519642.png

नया Android प्रोजेक्ट बनाना

  1. Android Studio में नया प्रोजेक्ट शुरू करें
  2. बुनियादी गतिविधि चुनें
  3. "अपना प्रोजेक्ट कॉन्फ़िगर करें" सेक्शन में स्क्रीन:
  4. अपने प्रोजेक्ट को नाम दें. पैकेज का नाम और सेव करने की जगह की जानकारी, आपके लिए अपने-आप जनरेट हो जाएगी.
  5. भाषा: Java
  6. कम से कम SDK 16

3. अपने Android प्रोजेक्ट में Firebase और Firebase Analytics जोड़ना

Firebase प्रोजेक्ट बनाना

Firebase को अपने Android ऐप्लिकेशन में जोड़ने से पहले, आपको अपने iOS ऐप्लिकेशन से कनेक्ट करने के लिए एक Firebase प्रोजेक्ट बनाना होगा. Firebase प्रोजेक्ट के बारे में ज़्यादा जानने के लिए, Firebase प्रोजेक्ट को समझना पर जाएं.

  1. Firebase कंसोल में, प्रोजेक्ट जोड़ें पर क्लिक करें. इसके बाद, प्रोजेक्ट का नाम चुनें या डालें. 910158221fe46223.png

अगर आपके पास Google Cloud Platform (GCP) का कोई मौजूदा प्रोजेक्ट है, तो उस प्रोजेक्ट में Firebase के संसाधन जोड़ने के लिए, ड्रॉपडाउन मेन्यू से वह प्रोजेक्ट चुनें.

  1. (ज़रूरी नहीं) अगर आपको कोई नया प्रोजेक्ट बनाना है, तो प्रोजेक्ट आईडी में बदलाव किया जा सकता है.

Firebase, आपके Firebase प्रोजेक्ट को अपने-आप एक यूनीक आईडी असाइन करता है. Firebase प्रोजेक्ट आईडी का इस्तेमाल कैसे करता है, यह जानने के लिए 'Firebase प्रोजेक्ट को समझना' सेक्शन पर जाएं.

  1. जारी रखें पर क्लिक करें.
  2. अपने प्रोजेक्ट के लिए Google Analytics सेट अप करें. इससे आपको यहां दिए गए किसी भी Firebase प्रॉडक्ट का इस्तेमाल करके बेहतर अनुभव मिलेगा:
  • Firebase Crashlytics
  • Firebase अनुमान
  • Firebase क्लाउड से मैसेज
  • Firebase इन-ऐप्लिकेशन मैसेज
  • Firebase रिमोट कॉन्फ़िगरेशन
  • Firebase A/B टेस्टिंग

जब कहा जाए, तब किसी मौजूदा Google Analytics खाते को इस्तेमाल करने या नया खाता बनाने का विकल्प चुनें. अगर आपको नया खाता बनाना है, तो Analytics रिपोर्टिंग की जगह चुनें. इसके बाद, अपने प्रोजेक्ट के लिए डेटा शेयर करने की सेटिंग और Google Analytics की शर्तों को स्वीकार करें.

1282a798556779ab.png

48ade68c8de27d2.png

  1. प्रोजेक्ट बनाएं पर क्लिक करें या अगर किसी मौजूदा GCP प्रोजेक्ट का इस्तेमाल किया जा रहा है, तो Firebase जोड़ें पर क्लिक करें.

Firebase आपके Firebase प्रोजेक्ट के लिए संसाधन अपने-आप सेट अप करता है. प्रक्रिया पूरी होने के बाद, आपको Firebase कंसोल में अपने Firebase प्रोजेक्ट की खास जानकारी देने वाले पेज पर ले जाया जाएगा.

अपने ऐप्लिकेशन को Firebase के साथ रजिस्टर करना

Firebase प्रोजेक्ट बनाने के बाद, आपके पास उसमें अपना Android ऐप्लिकेशन जोड़ने का विकल्प होता है.

Firebase प्रोजेक्ट में ऐप्लिकेशन जोड़ने के सबसे सही तरीकों और ज़रूरी बातों के बारे में ज़्यादा जानने के लिए, Firebase प्रोजेक्ट को समझें पर जाएं. यहां आपको बिल्ड के एक से ज़्यादा वैरिएंट को मैनेज करने का तरीका भी पता चलेगा.

  1. Firebase कंसोल पर जाएं.
  2. प्रोजेक्ट की खास जानकारी देने वाले पेज में, सबसे ऊपर मौजूद Android आइकॉन पर क्लिक करके सेटअप का वर्कफ़्लो लॉन्च करें. अगर आपने पहले ही अपने Firebase प्रोजेक्ट में कोई ऐप्लिकेशन जोड़ लिया है, तो प्लैटफ़ॉर्म के विकल्प देखने के लिए 'ऐप्लिकेशन जोड़ें' पर क्लिक करें.
  3. Android पैकेज का नाम फ़ील्ड में, अपने ऐप्लिकेशन के पैकेज का नाम डालें.
  4. (ज़रूरी नहीं) ऐप्लिकेशन का कोई दूसरा नाम डालें.
  5. SHA-1 फ़ील्ड को खाली छोड़ दें, क्योंकि इस प्रोजेक्ट के लिए SHA-1 की ज़रूरत नहीं होती.
  6. ऐप्लिकेशन रजिस्टर करें पर क्लिक करें.

Firebase कॉन्फ़िगरेशन फ़ाइल जोड़ना

इसके बाद, आपको एक कॉन्फ़िगरेशन फ़ाइल डाउनलोड करने के लिए कहा जाएगा, जिसमें आपके ऐप्लिकेशन के लिए सभी ज़रूरी Firebase मेटाडेटा होंगे. अपनी Firebase Android कॉन्फ़िगरेशन फ़ाइल (google-services.json) पाने के लिए, google-services.json डाउनलोड करें पर क्लिक करें.

bc8ec7d3c9a28d75.png

a99b7415462dfc8b.png

अपनी प्रोजेक्ट-लेवल की Gradle फ़ाइल (build.gradle) में, Google सेवाओं के Gradle प्लग इन को शामिल करने के लिए नियम जोड़ें. यह भी देखें कि आपके पास Google की Maven रिपॉज़िटरी भी है.

प्रोजेक्ट-लेवल Build.gradle (<project>/build.gradle):

buildscript {

  repositories {
    // Check that you have the following line (if not, add it):
    google()  // Google's Maven repository
  }

  dependencies {
    // ...

    // Add the following line:
    classpath 'com.google.gms:google-services:4.3.5'  // Google Services plugin
  }
}

allprojects {
  // ...

  repositories {
    // Check that you have the following line (if not, add it):
    google()  // Google's Maven repository
    // ...
  }
}

अपने मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल (आम तौर पर app/build.gradle) में, Google सेवाओं के Gradle प्लग इन को लागू करें:

ऐप्लिकेशन-लेवल Build.gradle (<project>/<app-module>/build.gradle):

प्लग इन लागू करें: ‘com.android.application'

// नीचे दी गई लाइन जोड़ें:

प्लग इन लागू करें: ‘com.google.gms.google-services' // Google सेवाओं का प्लगिन

android {

// ...

}

अपने Android ऐप्लिकेशन में Firebase SDK टूल जोड़ना

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

(यह काम क्विकस्टार्ट कोड के नमूने में पहले ही किया जा चुका है)

Firebase Android BoM का इस्तेमाल करके, अपने मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल (आम तौर पर app/build.gradle) में, Android लाइब्रेरी के रिमोट कॉन्फ़िगरेशन के लिए डिपेंडेंसी का एलान करें. Firebase Android BoM का इस्तेमाल करने पर, आपका ऐप्लिकेशन हमेशा Firebase की Android लाइब्रेरी के साथ काम करने वाले वर्शन का इस्तेमाल करेगा.

इसके अलावा, Analytics सेट अप करने के दौरान, आपको अपने ऐप्लिकेशन में Google Analytics के लिए Firebase SDK टूल जोड़ना होगा. डिपेंडेंसी के तहत, नीचे दिया गया कोड जोड़ें:

app/build.gradle

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:26.6.0')

    // Declare the dependencies for the Remote Config and Analytics libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-config'
    implementation 'com.google.firebase:firebase-analytics'
}

Grele फ़ाइलों के साथ प्रोजेक्ट सिंक करना

यह पक्का करने के लिए कि आपके ऐप्लिकेशन पर सभी डिपेंडेंसी उपलब्ध हैं, अपने प्रोजेक्ट को Gradle फ़ाइलों के साथ सिंक करें. इसके लिए, फ़ाइल > प्रोजेक्ट को Gradle फ़ाइलों के साथ सिंक करें.

4. रिमोट कॉन्फ़िगरेशन के मुख्य कॉम्पोनेंट की समीक्षा करें

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

1. रिमोट कॉन्फ़िगरेशन सिंगलटन ऑब्जेक्ट पाएं

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

MainActivity.java

mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
        .setMinimumFetchIntervalInSeconds(3600)
        .build();
mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings);

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

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

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

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

किसी मैप ऑब्जेक्ट या अपने ऐप्लिकेशन के res/xml फ़ोल्डर में स्टोर किए गए किसी एक्सएमएल रिसॉर्स फ़ाइल का इस्तेमाल करके, पैरामीटर के नाम और डिफ़ॉल्ट पैरामीटर वैल्यू का सेट तय किया जा सकता है. रिमोट कॉन्फ़िगरेशन का क्विकस्टार्ट सैंपल ऐप्लिकेशन, डिफ़ॉल्ट पैरामीटर के नाम और वैल्यू तय करने के लिए एक्सएमएल फ़ाइल का इस्तेमाल करता है. अपनी खुद की एक्सएमएल फ़ाइल बनाने का तरीका यहां बताया गया है:

  1. res फ़ोल्डर के तहत, एक xml फ़ोल्डर बनाएं.

4b8a2a637a626e94.png

  1. नए बनाए गए xml फ़ोल्डर पर राइट क्लिक करें और फ़ाइल बनाएं.

358b4ba740120ece.png

  1. डिफ़ॉल्ट वैल्यू सेट करें. अगले सेक्शन में, रिमोट कॉन्फ़िगरेशन की क्विकस्टार्ट एक्सएमएल फ़ाइल की डिफ़ॉल्ट वैल्यू बदलने की कोशिश की जाएगी.
  2. setDefaultsAsync(int) का इस्तेमाल करके, इन वैल्यू को रिमोट कॉन्फ़िगरेशन ऑब्जेक्ट में जोड़ें. जैसे:

MainActivity.java

mFirebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config_defaults);

3. अपने ऐप्लिकेशन में इस्तेमाल करने के लिए पैरामीटर की वैल्यू पाना

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

4. वैल्यू फ़ेच और चालू करना

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

MainActivity.java

mFirebaseRemoteConfig.fetchAndActivate()
        .addOnCompleteListener(this, new OnCompleteListener<Boolean>() {
            @Override
            public void onComplete(@NonNull Task<Boolean> task) {
                if (task.isSuccessful()) {
                    boolean updated = task.getResult();
                    Log.d(TAG, "Config params updated: " + updated);
                    Toast.makeText(MainActivity.this, "Fetch and activate succeeded",
                            Toast.LENGTH_SHORT).show();

                } else {
                    Toast.makeText(MainActivity.this, "Fetch failed",
                            Toast.LENGTH_SHORT).show();
                }
                displayWelcomeMessage();
            }
        });

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

थ्रॉटलिंग

अगर कोई ऐप्लिकेशन कम समय में कई बार फ़ेच होता है, तो फ़ेच कॉल को थ्रॉटल कर दिया जाता है और SDK टूल FirebaseRemoteConfigFetchThrottledException दिखाता है. SDK टूल के वर्शन 17.0.0 से पहले, 60 मिनट की विंडो में सिर्फ़ पांच बार फ़ेच करने के अनुरोध किए जा सकते थे. नए वर्शन में, अनुमति देने की ज़्यादा सीमाएं होती हैं.

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

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

  1. fetch(long) में मौजूद पैरामीटर
  2. FirebaseRemoteConfigSettings.setMinimumFetchIntervalInSeconds(long) में मौजूद पैरामीटर
  3. 12 घंटे की डिफ़ॉल्ट वैल्यू

फ़ेच करने के लिए कम से कम इंटरवल को किसी कस्टम वैल्यू पर सेट करने के लिए, FirebaseRemoteConfigSettings.Builder.setMinimumFetchIntervalInSeconds(long) का इस्तेमाल करें.

5. रिमोट कॉन्फ़िगरेशन की मदद से ऐप्लिकेशन के काम करने के तरीके में बदलाव करना

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

res/xml/remote_config_defaults.xml खोलें और डिफ़ॉल्ट वैल्यू को बदलकर कोई और वैल्यू डालें.

res/xml/remote_config_defaults.xml

<?xml version="1.0" encoding="utf-8"?>
<!-- START xml_defaults -->
<defaultsMap>
    <entry>
        <key>loading_phrase</key>
        <value>Fetching config...</value>
    </entry>
    <entry>
        <key>welcome_message_caps</key>
        <value>false</value>
    </entry>
    <entry>
        <key>welcome_message</key>
        <value>Welcome to my awesome app!</value>
    </entry>
</defaultsMap>
    <!-- END xml_defaults -->

ऐप्लिकेशन में डिफ़ॉल्ट वैल्यू में हुए बदलाव की पुष्टि करें

  1. व्यवहार की पुष्टि करने के लिए, प्रोजेक्ट को एम्युलेटर में या किसी टेस्ट डिवाइस का इस्तेमाल करें.
  2. Java या Kotlin वर्शन में, खोलें पर क्लिक करें.

c1582b989c25ced.png

  1. मुख्य व्यू में वेलकम मैसेज की समीक्षा करें.

4c838bf5a629d5b8.png

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

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

  1. Firebase कंसोल खोलें. इसके बाद, अपना प्रोजेक्ट खोलें.
  2. रिमोट कॉन्फ़िगरेशन डैशबोर्ड देखने के लिए, 'दिलचस्पी' सेक्शन में बाईं ओर दिए गए मेन्यू से रिमोट कॉन्फ़िगरेशन चुनें.
  3. पैरामीटर जोड़ें में जाकर, Parameter key. डालें. Default value में अपनी पसंद के मुताबिक टेक्स्ट जोड़ें. इसके बाद, 'पैरामीटर जोड़ें' पर क्लिक करें. इस कोडलैब के लिए, हम res/xml/remote_config_defaults.xml फ़ाइल में पैरामीटर कुंजियों का इस्तेमाल करेंगे. ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें:

पैरामीटर कुंजी

डिफ़ॉल्ट मान (remote_config_defaults.xml)

जानकारी

loading_phrase

कॉन्फ़िगरेशन फ़ेच किया जा रहा है...

String; रिमोट कॉन्फ़िगरेशन वैल्यू फ़ेच करते समय दिखती है.

welcome_message_caps

गलत

बूलियन; अगर सही है, तो Welcome_message को सभी बड़े अक्षरों में बदल देता है

welcome_message

मेरे शानदार ऐप्लिकेशन में आपका स्वागत है!

String; स्वागत संदेश

स्क्रीनशॉट का उदाहरण:

28fa48f18da43002.png

  1. पैरामीटर जोड़ने के बाद, "बदलावों को पब्लिश करें" पर क्लिक करें.
  2. अपने ऐप्लिकेशन को एम्युलेटर या डिवाइस पर फिर से चलाएं और "दूर से स्वागत करें" पर क्लिक करें बटन पर क्लिक करें.

cfe900477549adb7.png

  1. वेलकम मैसेज को आपके रिमोट कॉन्फ़िगरेशन के पैरामीटर और वैल्यू के आधार पर अपडेट किया जाना चाहिए!

6. बधाई हो

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