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

1. परिचय

पिछला अपडेट: 9 मार्च, 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_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 इन-ऐप्लिकेशन मैसेज
  • 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 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'

// यह लाइन जोड़ें:

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 SDK for Google Analytics जोड़ना होगा. डिपेंडेंसी में, यह कोड जोड़ें:

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. रिमोट कॉन्फ़िगरेशन के मुख्य कॉम्पोनेंट की समीक्षा करना

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

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) का इस्तेमाल करके, इन वैल्यू को रिमोट कॉन्फ़िगरेशन ऑब्जेक्ट में जोड़ें. जैसे:

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

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

थ्रॉटलिंग

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

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

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

welcome_message_caps

गलत

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

welcome_message

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

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

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

28fa48f18da43002.png

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

cfe900477549adb7.png

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

6. बधाई हो

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