我在我的应用中使用firebase remote-config。我有两个参数message1和message2,如下图所示。在图像中也可以看到语言条件(阿拉伯语和法语)。
用户可以在应用开始时选择应用语言(单独的活动),这是我用来更改语言的代码:
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时,它仅返回默认的英文文本,并且永远不会返回相应的阿拉伯语或法语语言环境文本。为什么是这样?请帮忙。
答案 0 :(得分:0)
language condition 检查设备语言而不是应用程序语言,因此我认为您需要将user property添加到应用程序语言中并进行比较
答案 1 :(得分:0)
remote-config 19.1.3修复了该问题。
解决了FirebaseRemoteConfig.fetch()有时会出现的问题 报告格式错误的语言标签。
尝试将Firebase升级到the latest version