【问题标题】:Firebase Remote Config not updating on locale changeFirebase 远程配置未在区域设置更改时更新
【发布时间】:2020-08-13 16:13:07
【问题描述】:

我定义了以下内容:

我首先启动应用程序,将设备的语言(来自设置)设置为英语,然后加载 lang-EN json。 如果我进入设备的设置,将语言更改为法语并重新启动应用程序,.fetch() 仍将返回 lang-EN 值。如果我清除缓存应用程序并重新启动它,它会加载 lang-FR 值。

.fetch() 不获取所有远程配置参数并在本地决定向用户显示哪个?从我得到的功能看来,.fetch() 仅在调用时获取仅与设备有关的参数值。要么是那个,要么是firebase代码中有一个错误......或者......我希望是这样,我做错了什么。

这就是我初始化单例的方式。也许我错过了什么?

public void initialize(Context applicationContext) {
    FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
            .setMinimumFetchIntervalInSeconds(5 * 60 * 60)//5 hours
            .build();
    getConfig().setConfigSettingsAsync(configSettings);
}

是的,我在依赖项 19.2.0 中有最新版本的远程配置 sdk

【问题讨论】:

    标签: android firebase firebase-remote-config


    【解决方案1】:

    fetch() 还不够。

    要从远程配置后端获取参数值,请调用fetch() 方法。您在后端设置的任何值都会被提取并存储在远程配置对象中。 要使获取的参数值可用于您的应用,请调用 activate() 方法。

    对于您想在一次调用中获取和激活值的情况,您可以使用fetchAndActivate() 请求从远程配置后端获取值并将它们提供给应用程序:

    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",
                                Toast.LENGTH_SHORT).show();
    
                    } else {
                        Toast.makeText(MainActivity.this, "Fetch failed",
                                Toast.LENGTH_SHORT).show();
                    }
                    displayWelcomeMessage();
                }
            });
    

    由于这些更新的参数值会影响应用的行为和外观,因此您应该在确保用户体验流畅的时间(例如用户下次打开应用时)激活获取的值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多