我正在将 Firebase 远程配置添加到应用程序中,但我对其用途感到困惑.setMinimumFetchIntervalInSeconds(...)
& .setDeveloperModeEnabled(true/false)
。文档讨论了开发人员模式,但我不确定他们是否清楚地解释了它的实际用途。是否必须与setMinimumFetchIntervalInSeconds
或者它可以单独使用吗?如果单独使用,它会做什么?
其次,我在应用程序的调试版本中测试我的测试布尔值,值设置为 5 分钟或小时,但我仍然总是在 3 秒内获得我的值。当我设置setDeveloperModeEnabled
为 false 或不添加FirebaseRemoteConfigSettings
就我的例子而言,我仍然没有观察到著名的节流异常,并且我立即得到了我的值。基本上看起来我的缓存设置被忽略了,我总是从后端获取新数据,并且我可以将缓存设置为我想要的最低值。
setDeveloperModeEnabled()
已弃用。他们使用setMinimumFetchIntervalInSeconds()
现在改为设置缓存过期延迟。
检查你的 gradle 中的这一行并确保它的版本19.1.4
(截至今天)或更新:implementation 'com.google.firebase:firebase-config:19.1.4'
Firebase 对您可以发出的提取请求数量有配额。开发者模式是一种为您自己的设备开绿灯的方法,以便能够不受限制地随时获取,但您无法在启用开发者模式的情况下发布您的应用程序(您仍然需要指定间隔)
如果您使用的是 v17.0.0,请通过将 cacheExpiration 值更改为您想要的值来使用此代码。
long cacheExpiration = 3600;
mFirebaseRemoteConfig.setConfigSettingsAsync(new FirebaseRemoteConfigSettings.Builder()
.setMinimumFetchIntervalInSeconds(cacheExpiration)
.build());
//** deprecated */
//mFirebaseRemoteConfig.setDefaults(R.xml.remote_config_defaults);
mFirebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config_defaults);
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 " + updated,
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "Fetch failed",
Toast.LENGTH_SHORT).show();
}
updateConfig();
}
});
setDeveloperModeEnabled
不再受支持,这可能就是您没有观察到其行为有任何变化的原因
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)