首页 > 解决方案 > 我可以像这样使用 .setMinimumFetchIntervalInSeconds(43200) 发布我的应用程序吗?

问题描述

我在 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

标签: javaandroidfirebasefirebase-remote-config

解决方案


还不能发表评论,所以将其发布为答案。是的,您可以以 43200 秒的间隔发布您的应用程序,甚至推荐。想想下一个场景:

您的应用程序有 10000 个用户,并且您对 Firebase 进行了更改,但您的时间间隔为 0,例如。这意味着所有连接的用户将立即到达火力基地并检索新值,这显然不好。创建间隔是为了减少服务器上的压力。

另外,如果您删除此行,我没有错:

.setMinimumFetchIntervalInSeconds(43200)

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


推荐阅读