Firebase удаленный конфиг - языковые условия не работают - Android - PullRequest
0 голосов
/ 14 декабря 2018

Я использую firebase remote-config в своем приложении.У меня есть два параметра message1 и message2, как показано на рисунке ниже.Языковые условия также можно увидеть на изображении (для арабского и французского).

enter image description here

Пользователь имеет возможность выбрать язык приложения в начале приложения(отдельное задание), и это код, который я использую для изменения языка:

            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());

Этот код я использую для извлечения данных из 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");
            }
        });

Теперь проблема в том, чтовсякий раз, когда я пытаюсь получить message1 и message2 с сервера, он возвращает только текст по умолчанию на английском языке и никогда не возвращает соответствующий текст на арабском или французском языке.Почему это?Пожалуйста, помогите.

1 Ответ

0 голосов
/ 14 марта 2019

Состояние языка проверяет язык устройства, а не язык приложения, поэтому я думаю, что вам нужно добавить свойство пользователя с языком приложения и сравнитьс этим

...