2016-07-28 10 views
5

मैं डेवलपर मोड को false पर सेट करके रिलीज़ मोड के लिए फायरबेस रिमोट कॉन्फ़िगरेशन सेट करने का प्रयास कर रहा हूं। लेकिन कैश की समाप्ति समय के साथ 3000 से कम (थोड़ा सा हो सकता है, इसे प्रयोगात्मक रूप से निर्धारित किया जाता है) सेकंड, यह डेटा लाने में विफल रहता है। यह फेंकता FirebaseRemoteConfigFetchThrottledExceptionरिलीज में फायरबेस रिमोट कॉन्फ़िगर कैश समाप्ति समय

FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder() 
         .setDeveloperModeEnabled(false) 
         .build(); 

और .setDeveloperModeEnabled(true) साथ यह मुझे किसी भी समय भी 0 स्थापित करने के लिए अनुमति देता है और अच्छी तरह से काम करता है।

new Handler().postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance(); 
      FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder() 
        .setDeveloperModeEnabled(false) 
        .build(); 

      mFirebaseRemoteConfig.setConfigSettings(configSettings); 
      mFirebaseRemoteConfig.setDefaults(R.xml.remote_config_defaults); 

      mFirebaseRemoteConfig.fetch(CACHE_EXPIRATION) 
        .addOnSuccessListener(new OnSuccessListener<Void>() { 
         @Override 
         public void onSuccess(Void aVoid) { 
          Log.i("info32", "remote config succeeded"); 
          mFirebaseRemoteConfig.activateFetched(); 
         } 
        }) 
        .addOnFailureListener(new OnFailureListener() { 
         @Override 
         public void onFailure(@NonNull Exception exception) { 
          Log.i("info32", "remote config failed"); 
         } 
        }); 
     } 
    }, 0); 

आप कृपया समझा सकते हैं कि समस्या क्या है:

यहाँ पूरे हंक है?

उत्तर

10

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

कॉन्फ़िगरेशन मानों की कैशिंग the documentation में समझाया गया है। थ्रॉटलिंग सीमाओं के कारण, आपके रिलीज़ किए गए ऐप को रिमोट कॉन्फ़िगर मानों में तुरंत परिवर्तन देखने के लिए संभव नहीं है। कैश किए गए मानों का उपयोग तब तक किया जाएगा जब तक कि अगले fetch की अनुमति न हो। डिफ़ॉल्ट कैश की समाप्ति 12 घंटे है।

संबंधित मुद्दे