【问题标题】:Unable to fetch RemoteConfig data from Firebase无法从 Firebase 获取 RemoteConfig 数据
【发布时间】:2019-12-18 08:51:58
【问题描述】:

我有一个类来获取 Firebase 远程配置数据,其中我的远程配置中有两个值。但不幸的是,我无法获取数据。

public class FirebaseConfig {
    FirebaseRemoteConfig mFirebaseRemoteConfig;
    FirebaseRemoteConfigSettings configSettings;
    long cacheExpiration = 5;
    String vehicle_latitude = "";
    String vehicle_longitude = "";

    public FirebaseConfig() {
        mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
        configSettings = new FirebaseRemoteConfigSettings.Builder()
                .build();
        mFirebaseRemoteConfig.setConfigSettings(configSettings);
        mFirebaseRemoteConfig.setDefaults(R.xml.remote_config_defaults);
    }

    public String fetchLatitude(Context context) {
        mFirebaseRemoteConfig.fetch(getCacheExpiration())
                .addOnCompleteListener((Activity) context, new OnCompleteListener<Void>() {
                    @Override
                    public void onComplete(@NonNull Task<Void> task) {
// If is successful, activated fetched
                        if (task.isSuccessful()) {
                            mFirebaseRemoteConfig.activateFetched();
                        } else {
                            Log.d("", "");
                        }
                        vehicle_latitude = mFirebaseRemoteConfig.getString("tracker_vehicle_latitude");
                    }
                });
        return vehicle_latitude;
    }

    public String fetchLongitude(Context context) {
        mFirebaseRemoteConfig.fetch(getCacheExpiration())
                .addOnCompleteListener((Activity) context, new OnCompleteListener<Void>() {
                    @Override
                    public void onComplete(@NonNull Task<Void> task) {
// If is successful, activated fetched
                        if (task.isSuccessful()) {
                            mFirebaseRemoteConfig.activateFetched();
                        } else {
                            Log.d("", "");
                        }
                        vehicle_longitude = mFirebaseRemoteConfig.getString("tracker_vehicle_longitude");
                    }
                });
        return vehicle_longitude;
    }

    public long getCacheExpiration() {
// If is developer mode, cache expiration set to 0, in order to test
        if (mFirebaseRemoteConfig.getInfo().getConfigSettings().isDeveloperModeEnabled()) {
            cacheExpiration = 0;
        }
        return cacheExpiration;
    }}

当我从另一个类调用它时,我无法从 firebase 获取数据。

在 MainActivity

   FirebaseConfig fc = new FirebaseConfig();
            vehicle_latitude = fc.fetchLatitude(this);
            vehicle_longitude = fc.fetchLongitude(this);

任何建议将不胜感激。

谢谢!

【问题讨论】:

    标签: android firebase firebase-remote-config


    【解决方案1】:

    尝试以这种方式获取

    FirebaseRemoteConfig mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
    FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
            .setMinimumFetchIntervalInSeconds(10)
            .build();
    mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings);
    
    mFirebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config_defaults);
    
    mFirebaseRemoteConfig.fetchAndActivate();
    
    vehicle_latitude = mFirebaseRemoteConfig.getString("tracker_vehicle_latitude");
    vehicle_longitude = mFirebaseRemoteConfig.getString("tracker_vehicle_longitude");
    

    有关如何设置的更多信息,请查看this

    【讨论】:

      猜你喜欢
      • 2022-11-19
      • 1970-01-01
      • 2020-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      • 2022-09-23
      相关资源
      最近更新 更多