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

1. परिचय

पिछली बार अपडेट किया गया: 09-03-2021

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

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

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

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

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

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

61f12f33d2ac3133.png

आपको क्या सीखने को मिलेगा

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

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

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

2. सेट अप करना

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

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

इस कोडलैब के लिए, पूरा कोड डाउनलोड करने के लिए, इस बटन पर क्लिक करें:

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

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

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

डेटाबेस में कई फ़ोल्डर मौजूद हैं. हम android_studio_folder.png config फ़ोल्डर का इस्तेमाल करेंगे.

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

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

5f90353b0b519642.png

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

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

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

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

अपने Android ऐप्लिकेशन में Firebase जोड़ने से पहले, आपको एक Firebase प्रोजेक्ट बनाना होगा, ताकि उसे अपने iOS ऐप्लिकेशन से कनेक्ट किया जा सके. 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 In-App Messaging
  • Firebase रिमोट कॉन्फ़िगरेशन
  • Firebase A/B टेस्टिंग

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

1282a798556779ab.png48ade68c8de27d2.png

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

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

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

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

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

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

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

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

bc8ec7d3c9a28d75.pnga99b7415462dfc8b.png

अपनी प्रोजेक्ट-लेवल Gradle फ़ाइल (build.gradle) में, Google Services 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 Services Gradle प्लगिन लागू करें:

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

apply plugin: ‘com.android.application'

// Add the following line:

apply plugin: ‘com.google.gms.google-services' // Google Services plugin

android {

// ...

}

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

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

(यह काम, क्विकस्टार्ट के सैंपल कोड में पहले से किया गया है)

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

साथ ही, Analytics को सेट अप करने के लिए, आपको अपने ऐप्लिकेशन में 'Firebase के लिए Google Analytics' 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'
}

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

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

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

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

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

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

MainActivity.java

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

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

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

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

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

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

  1. res फ़ोल्डर में xml फ़ोल्डर बनाएं.

4b8a2a637a626e94.png

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

358b4ba740120ece.png

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

MainActivity.java

mFirebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config_defaults);

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

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

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

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

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();
            }
        });

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

थ्रॉटलिंग

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

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

Remote Config के लिए, फ़ेच करने का डिफ़ॉल्ट कम से कम इंटरवल 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. Remote Config डैशबोर्ड देखने के लिए, Engage सेक्शन में बाईं ओर मौजूद मेन्यू से Remote Config चुनें.
  3. पैरामीटर जोड़ें में जाकर, Parameter key. डालें. इसके बाद, Default value में अपनी पसंद का टेक्स्ट जोड़ें. इसके बाद, पैरामीटर जोड़ें पर क्लिक करें. इस कोडलैब के लिए, हम res/xml/remote_config_defaults.xml फ़ाइल में मौजूद पैरामीटर कुंजियों का इस्तेमाल करेंगे. ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें:

पैरामीटर की

डिफ़ॉल्ट वैल्यू (remote_config_defaults.xml)

ब्यौरा

loading_phrase

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

स्ट्रिंग; Remote Config वैल्यू फ़ेच करते समय दिखाई जाती है.

welcome_message_caps

गलत

बूलियन; अगर यह वैल्यू सही है, तो welcome_message को सभी कैपिटल लेटर में बदल देता है

welcome_message

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

स्ट्रिंग; वेलकम मैसेज

उदाहरण के लिए स्क्रीनशॉट:

28fa48f18da43002.png

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

cfe900477549adb7.png

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

6. बधाई हो

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