我正在尝试通过将开发者模式设置为false
来设置Firebase远程配置的发布模式。但是如果缓存过期时间少于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);
你能否解释一下问题是什么?
setDeveloperModeEnabled(true)
仅适用于最多10个设备。详情请参见:https://firebase.googleblog.com/2017/01/firebase-remote-config-loading.html。 - prerak