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

时间:2018-12-14 11:38:54

标签: android firebase firebase-remote-config

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

enter image description here

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

sortType(sort: string)
  {
    this.copyLogs=this.logs;
    if(sort==='resdate'){
      this.logs=this.copyLogs.sort(this.sortByResDate);
    }   
  }

 sortByResDate(r1: any, r2:any){
   let d1=moment(r1.resdate, 'dd.MM.yyyy HH:mm:ss').unix();
   let d2 = moment(r2.resdate, 'dd.MM.yyyy HH:mm:ss').unix();

    if(d1>d2) {
      return 1;
    }
    else if(d1===d2) {
      return 0;
    }
    else return -1; 
  }

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

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

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

2 个答案:

答案 0 :(得分:0)

language condition 检查设备语言而不是应用程序语言,因此我认为您需要将user property添加到应用程序语言中并进行比较

答案 1 :(得分:0)

remote-config 19.1.3修复了该问题。

解决了FirebaseRemoteConfig.fetch()有时会出现的问题 报告格式错误的语言标签。

尝试将Firebase升级到the latest version