Google is committed to advancing racial equity for Black communities. See how.
इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

Android पर Firebase Remote Config से आरंभ करें

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

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

  1. यदि आप पहले से नहीं हैं, तो अपने Android प्रोजेक्ट में Firebase जोड़ें

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

  3. अपने मॉड्यूल (ऐप-स्तर) ग्रेड फ़ाइल (आमतौर पर app/build.gradle ) के लिए दूरस्थ कॉन्फ़िगरेशन एंड्रॉइड लाइब्रेरी के लिए निर्भरता जोड़ें।

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

    जावा

     implementation 'com.google.firebase:firebase-config:19.2.0'
    implementation 'com.google.firebase:firebase-analytics:17.4.4'
     

    Kotlin + KTX

     implementation 'com.google.firebase:firebase-config-ktx:19.2.0'
    implementation 'com.google.firebase:firebase-analytics-ktx:17.4.4'
     

दूरस्थ कॉन्फ़िगरेशन सिंगलटन ऑब्जेक्ट प्राप्त करें

दूरस्थ कॉन्फ़िगरेशन ऑब्जेक्ट आवृत्ति प्राप्त करें और बार-बार ताज़ा करने के लिए न्यूनतम भ्रूण अंतराल सेट करें:

जावा

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

Kotlin + KTX

remoteConfig = Firebase.remoteConfig
val configSettings = remoteConfigSettings {
    minimumFetchIntervalInSeconds = 3600
}
remoteConfig.setConfigSettingsAsync(configSettings)

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

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

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

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

  1. अपने ऐप के res/xml फ़ोल्डर में संग्रहीत मैप ऑब्जेक्ट या XML संसाधन फ़ाइल का उपयोग करके पैरामीटर नाम और डिफ़ॉल्ट पैरामीटर मानों के एक सेट को परिभाषित करें। रिमोट कॉन्फ़िगरेशन क्विकार्टार्ट नमूना ऐप डिफ़ॉल्ट पैरामीटर नाम और मूल्यों को परिभाषित करने के लिए एक XML फ़ाइल का उपयोग करता है।
  2. जैसा कि दिखाया गया है, इन मानों को दूरस्थ विन्यास ऑब्जेक्ट में सेटडिफ़ॉल्ट्ससंक (int) में जोड़ें:

जावा

mFirebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config_defaults);

Kotlin + KTX

remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults)

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

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

दूरस्थ कॉन्फ़िगरेशन बैकएंड में पैरामीटर मान सेट करें

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

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

मूल्यों को प्राप्त करें और सक्रिय करें

  1. दूरस्थ कॉन्फ़िगरेशन बैकएंड से पैरामीटर मान प्राप्त करने के लिए, भ्रूण () विधि को कॉल करें। आपके द्वारा बैकएंड में सेट किए गए किसी भी मान को दूरस्थ कॉन्फ़िगरेशन ऑब्जेक्ट में लाया और संग्रहीत किया जाता है।
  2. अपने एप्लिकेशन को उपलब्ध किए गए पैरामीटर मानों को उपलब्ध कराने के लिए, सक्रिय () विधि को कॉल करें।

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

    जावा

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

    Kotlin + KTX

    remoteConfig.fetchAndActivate()
            .addOnCompleteListener(this) { task ->
                if (task.isSuccessful) {
                    val updated = task.result
                    Log.d(TAG, "Config params updated: $updated")
                    Toast.makeText(this, "Fetch and activate succeeded",
                            Toast.LENGTH_SHORT).show()
                } else {
                    Toast.makeText(this, "Fetch failed",
                            Toast.LENGTH_SHORT).show()
                }
                displayWelcomeMessage()
            }

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

थ्रॉटलिंग

यदि कोई एप्लिकेशन बहुत कम समय में बहुत बार आती है, तो कॉल कॉल्स थ्रॉटल हो जाती हैं और SDK रिटर्न FirebaseRemoteConfigFetchThrottledException । एसडीके संस्करण 17.0.0 से पहले, सीमा 60 मिनट की विंडो में 5 भ्रूण अनुरोध थी (नए संस्करणों में अधिक अनुमेय सीमाएं हैं)।

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

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

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

न्यूनतम मान अंतराल को कस्टम मान पर सेट करने के लिए, FirebaseRemoteConfigSettings.Builder.setMinimumFetchIntervalInSeconds(long) उपयोग करें।

अगला कदम

यदि आप पहले से ही नहीं हैं, तो दूरस्थ कॉन्फ़िगरेशन के मामलों का पता लगाएं, और कुछ प्रमुख अवधारणाओं और उन्नत रणनीति प्रलेखन पर एक नज़र डालें, जिनमें शामिल हैं: