Firebase 远程配置 - 语言条件不起作用 - android

Nab*_*bil 5 android firebase firebase-remote-config

我在我的应用程序中使用了 firebase remote-config。我有两个参数 message1 和 message2,如下图所示。语言条件也可以在图像中看到(阿拉伯语和法语)。

在此处输入图片说明

用户可以选择在应用程序开始时选择应用程序语言(单独的活动),这是我用来更改语言的代码:

            Locale locale = new Locale("ar");//or "fr" if user selects french
            Locale.setDefault(locale);
            Configuration configuration = new Configuration();
            configuration.locale = locale;
            getResources().updateConfiguration(configuration, getResources().getDisplayMetrics());
Run Code Online (Sandbox Code Playgroud)

这是我用来从 firebase 获取数据的代码:

mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
mFirebaseRemoteConfig.setDefaults(R.xml.remote_config_defaults);

long cacheExpiration = 0;
mFirebaseRemoteConfig.fetch(cacheExpiration)
        .addOnCompleteListener(MainActivity.this, new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    Toast.makeText(MainActivity.this, "Fetch Succeeded",
                            Toast.LENGTH_SHORT).show();

                    // After config data is successfully fetched, it must be activated before newly fetched
                    // values are returned.
                    mFirebaseRemoteConfig.activateFetched();
                } else {
                    Toast.makeText(MainActivity.this, "Fetch Failed",
                            Toast.LENGTH_SHORT).show();
                }
                String welcomeMessage1 = mFirebaseRemoteConfig.getString("message1");
                String welcomeMessage2 = mFirebaseRemoteConfig.getString("message2");
            }
        });
Run Code Online (Sandbox Code Playgroud)

现在的问题是,每当我尝试从服务器获取 message1 和 message2 时,它只会返回默认的英文文本,并且永远不会返回相应的阿拉伯语或法语语言环境文本。为什么是这样?请帮忙。

小智 0

语言条件检查设备语言而不是应用程序语言,因此我认为您需要使用应用程序语言添加用户属性并与其进行比较