什么是 Firebase 远程配置开发者模式
What is Firebase Remote Config Developer Mode
我正在将 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
不再受支持,这可能就是为什么您没有观察到其行为有任何变化的原因
我正在将 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
不再受支持,这可能就是为什么您没有观察到其行为有任何变化的原因