当前位置: 首页 > 知识库问答 >
问题:

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

华懿轩
2023-03-14

我正在应用程序中使用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());

这是我用来从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");
            }
        });

共有1个答案

翟源
2023-03-14

language条件检查的是设备语言,而不是应用程序语言,因此我认为您需要在应用程序语言中添加一个user属性,并与它进行比较

 类似资料:
  • 在我们的Android应用程序中,在Firebase配置更新到后,由于调试项目上的403错误,我们的应用程序停止接收配置更新。我们遵循了REST API迁移指南,它开始工作了。在我们的live project中,REST api是启用的,我们不需要打开它。但在SDK更新后,它还是以403响应。在返回后,它开始工作,但我不想降级,而是更好地找到问题。可能有什么问题?

  • 我正在处理Firebase Remote Config,想知道当您对Firebase参数有重叠的条件时,在幕后会发生什么。例如,假设我对一个参数有两个条件: 如果用户在Android设备上,则返回true。 如果用户使用的是Android设备,并且该设备是Samsung设备,则返回false。 如果用户是从三星设备查询,那么Firebase会为这个参数返回什么?大概,这将取决于Firebase首先

  • 我将Firebase集成到我的Android项目中,为不同的应用程序用户获得不同的参数值。我做了以下工作: 结果总是得到默认值:DefaultValue 我做错了什么?我错过了什么?

  • 我正在尝试设置Firebase远程配置。在我的项目中一个重要的部分是正确的定位。所以我在Console中设置了不同语言的条件。但现在我想将默认值设为XML。github上的示例非常简单。没有任何条件的值就很少。文档根本没有描述这种格式。所以我想知道是否可以在defaults.xml中指定我的所有本地化,以及我如何做到这一点。

  • 我有一个用户属性:Max_Level_Completed表示用户完成的最大级别。我将其用作远程配置Firebase的一个条件:Max_Level_Completed>=10个用户拥有Max_Level_Completed>=10个将会出售。 但是当用户的Max_Level_Completed>=10时,我仍然无法为这些用户获取新的配置。如果我清除应用程序数据,我可以获取新的配置。 这里有什么问题?

  • 下面是创建基于自定义受众的远程配置条件的步骤- 首先创建了一个名为OEM的用户属性 我用创建了一个动态链接,作为 https://d83j2.app.goo.gl/?link=http://myapp.in&apn=com.myapp.app&utm_source=google-micromax&utm_medium=micromax_device&utm_campaign=promo_googl