我可以使用.setMinimumFetchIntervalInSeconds43200这样发布我的应用程序吗?

问题描述

我在firebase上阅读时,发布应用程序时提取间隔应该为12小时,因此我在.setMinimumFetchIntervalInSeconds(43200)上放置了43200秒,这相当于12小时。我应该这样发布我的应用程序吗?难道我做错了什么?我错过了什么吗?

这是我的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

解决方法

目前尚无法发表评论,因此请将其发布为答案。 是的,您可以每隔43200秒发布一次您的应用程序,甚至可以推荐它。考虑下一个senario:

您的应用有10000个用户,您更改了Firebase,但exmaple的间隔为0。这意味着所有连接的用户将立即到达Firebase并检索新值,这显然不好。创建间隔是为了减轻服务器的压力。

如果您删除此行,如果我没记错的话:

.setMinimumFetchIntervalInSeconds(43200)

它没有任何区别,因为它是默认值。 干杯