Firebase Remote Config: Can't read any values, but fetch is successful

前端 未结 10 910
长发绾君心
长发绾君心 2020-12-30 19:10

I\'m trying to have a remote config parameter using the new Remote Config feature of Firebase, and I\'m having an issue.

Here\'s my Remote Config console:

I

10条回答
  •  时光取名叫无心
    2020-12-30 19:49

    First thing in such case is check if you have the correct firebase config and you are connected to firebase .If you have android studio 2.2 got to Tools->Firebase->RemoteConfig - Connect to Firebase and see if you get a notification saying connected.Once Connected do the following in your code: mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();

        /** NOTE: At this point, your app can use in-app default parameter values.To use in-app
         *        default values,skip the next section. You can deploy your app without setting
         *        parameter values on the server,and then later set values on the server to
         *        override the default behavior and appearance of your app.
         */
    
        mFirebaseRemoteConfig.setDefaults(R.xml.remote_config_defaults);
        FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
                .setDeveloperModeEnabled(true)
                .build();
        mFirebaseRemoteConfig.setConfigSettings(configSettings);
    

    And then for fetching config do the following long cacheExpiration = 2000; // Can increase this usually 12hrs is what is recommended

        /** If in developer mode cacheExpiration is set to 0 so each fetch will retrieve values from
         * the server.*/
    
        if (mFirebaseRemoteConfig.getInfo().getConfigSettings().isDeveloperModeEnabled()) {
            cacheExpiration = 0;
        }
    
       /**  cacheExpirationSeconds is set to cacheExpiration here, indicating that any previously
        * fetched and cached config would be considered expired because it would have been fetched
        * more than cacheExpiration seconds ago. Thus the next fetch would go to the server unless
        * throttling is in progress. The default expiration duration is 43200 (12 hours).
        */
    
        mFirebaseRemoteConfig.fetch(cacheExpiration)//TODO Bring this from a config file
                .addOnCompleteListener(new OnCompleteListener() {
                    @Override
                    public void onComplete(@NonNull Task task) {
                        if (task.isSuccessful()) {
                            Log.d(TAG, "Firebase Remote config Fetch Succeeded");
                            // Once the config is successfully fetched it must be activated before newly fetched
                            // values are returned.
                            mFirebaseRemoteConfig.activateFetched();
                        } else {
                            Log.d(TAG, "Firebase Remote config Fetch failed");
                        }
                        showRemoteConfig();
                    }
                });
    

    Run your App and check in logs " Firebase Remote config Fetch Succeeded ". If you see the same your remote configs are loaded and activated.

提交回复
热议问题