英文:
Can i release my app with .setMinimumFetchIntervalInSeconds(43200) like this?
问题
I read on firebase the fetch interval should be 12 hours when releasing the app, so I put 43200 seconds on .setMinimumFetchIntervalInSeconds(43200) that translates to 12 hours. Should I release my app like this? Am I doing something wrong? am I missing something?
我在 Firebase 上阅读到,在发布应用时,获取间隔应为 12 小时,因此我将 43200 秒放在 .setMinimumFetchIntervalInSeconds(43200) 上,这相当于 12 小时。我应该这样发布我的应用吗?我有做错什么吗?我漏掉了什么吗?
here is my firebase remote config code:
这是我的 Firebase 远程配置代码:
//firebase remote configuration
// default value
firebaseDefaultMap = new HashMap<>();
firebaseDefaultMap.put(SET_MAX_PROGRESS, 10000);
mFirebaseRemoteConfig.setDefaults(firebaseDefaultMap);
//debug mode ON !!I SHOULD TURN IT FO BEFORE RELEASE!!
/* mFirebaseRemoteConfig.setConfigSettings(
new FirebaseRemoteConfigSettings.Builder().setDeveloperModeEnabled(BuildConfig.DEBUG)
.build());*/
mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
.setMinimumFetchIntervalInSeconds(43200)
.build();
mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings);
progress = view.findViewById(R.id.progress);
target_users = view.findViewById(R.id.target_users);
//Fetch listener
mFirebaseRemoteConfig.fetch().addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
mFirebaseRemoteConfig.activateFetched();
Log.d(TAG, "Fetched value: " + mFirebaseRemoteConfig.getString(SET_MAX_PROGRESS));
}else{
}
Log.d(TAG, "Default value: " + mFirebaseRemoteConfig.getString(SET_MAX_PROGRESS));
}
});
int max = (int) mFirebaseRemoteConfig.getDouble(SET_MAX_PROGRESS);
target_users.setText("Target: "+ max);
progress.setMax(max);
//end firebase remote configuration
英文:
I read on firebase the fetch interval should be 12 hours when releasing the app, so I put 43200 seconds on .setMinimumFetchIntervalInSeconds(43200) that translates to 12 hours. Should I release my app like this? Am I doing something wrong? am I missing something?
here is my firebase remote config code:
//firebase remote configuration
// default value
firebaseDefaultMap = new HashMap<>();
firebaseDefaultMap.put(SET_MAX_PROGRESS, 10000);
mFirebaseRemoteConfig.setDefaults(firebaseDefaultMap);
//debug mode ON !!I SHOULD TURN IT FO BEFORE RELEASE!!
/* mFirebaseRemoteConfig.setConfigSettings(
new FirebaseRemoteConfigSettings.Builder().setDeveloperModeEnabled(BuildConfig.DEBUG)
.build());*/
mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
.setMinimumFetchIntervalInSeconds(43200)
.build();
mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings);
progress = view.findViewById(R.id.progress);
target_users = view.findViewById(R.id.target_users);
//Fetch listener
mFirebaseRemoteConfig.fetch().addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
mFirebaseRemoteConfig.activateFetched();
Log.d(TAG, "Fetched value: " + mFirebaseRemoteConfig.getString(SET_MAX_PROGRESS));
}else{
}
Log.d(TAG, "Default value: " + mFirebaseRemoteConfig.getString(SET_MAX_PROGRESS));
}
});
int max = (int) mFirebaseRemoteConfig.getDouble(SET_MAX_PROGRESS);
target_users.setText("Target: "+ max);
progress.setMax(max);
//end firebase remote configuration
答案1
得分: 0
Yeah, 你可以以43200秒的间隔发布你的应用,甚至建议这样做。想象一下下一个情景:
你的应用有10000个用户,你对firebase进行了更改,但你的间隔为0,例如。这意味着立即所有连接的用户都将访问firebase并检索新的值,显然这不是好事。这个间隔是为了减轻服务器的压力而创建的。
另外,如果我没有记错的话,如果你删除这一行:
.setMinimumFetchIntervalInSeconds(43200)
它不会有任何影响,因为这是默认值。
祝好!
英文:
cant comment yet so posting it as an answer.
Yeah you can publish your app with the 43200 seconds interval and its even recommended. think of the next senario:
Your app has 10000 users and you make a change to your firebase but your interval is 0 for exmaple. that means that immediately all the connected users will reach the firebase and retrieve the new values, thats obviously not good. the interval is created in order to reduce stress on the servers.
Also if I'm not wrong if you remove this line:
.setMinimumFetchIntervalInSeconds(43200)
It wont make any difference because its a default value.
Cheers
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论