有没有办法覆盖 Firebase 远程配置的区域/国家/地区

Pfe*_*aum 5 android firebase firebase-remote-config

我在启动时覆盖 Android 应用程序的区域设置,并允许在运行时更改区域。我像这样设置区域设置:

    Resources res = context.getResources();
    Configuration configuration = res.getConfiguration();
    DisplayMetrics metrics = res.getDisplayMetrics();

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        configuration.setLocale(locale);
    }else{
        configuration.locale = locale;
    }
    Locale.setDefault(locale);
    res.updateConfiguration(configuration, metrics);
Run Code Online (Sandbox Code Playgroud)

现在我想将 Firebase-Remote-Config 与区域/国家条件一起使用。例如

test_property -> fr_FR = Bonjour 
              -> de_DE = Hallo
              -> default = Hi
Run Code Online (Sandbox Code Playgroud)

如果我现在将我的设备设置为 de_DE 并且将我的应用程序设置为我将从区域( )fr_FR获取。我想要得到的是该地区的test_propertyde_DEHallotest_propertyfr_FR应用程序设置的

我尝试过了FirebaseApp.initializeApp(...)我在更改应用程序中的区域后

有人知道如何以编程方式设置/覆盖该区域,以便 firebase 将该区域用于区域条件吗?

我不想使用 Firebase Analytics User Properties,因为它们更新得太晚了。

Mus*_*ssa 0

在您的Firebase 控制台中:

a) 设置区域设置的用户属性。转到Analytics菜单并选择USER PROPERTIES选项卡。

  1. 提供用户属性名称。喜欢user_locale
  2. 添加描述、保存并发布更改。

b) 设置远程配置的条件。转到Remote Config菜单并选择CONDITIONS选项卡。

  1. 选择用户属性- user_locale
  2. 选择FOR TEXT- exactly matches
  3. 输入您需要的区域设置。就像de德国人一样。
  4. 输入条件名称translation_de并选择颜色。
  5. 保存并发布更改。

c) 为每个远程配置参数添加条件值。

  1. 从下拉菜单中选择适当的条件,例如translation_de
  2. 更新并发布更改。

代码集用户属性中的区域设置更改

FirebaseAnalytics.getInstance(getContext())
    .setUserProperty("user_locale", "de");
FirebaseRemoteConfig.getInstance()
    .fetch(1)
    .addOnCompleteListener(activity, new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {
            if (task.isSuccessful()) {
                FirebaseRemoteConfig.getInstance().activateFetched();
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)