如果设备是英文设备,还是其他所有其他语言的通知,我该如何发送通知?
我试图让两个不同的观众,但两个观众是空的。
答案 0 :(得分:0)
每当您向用户发送通知时,您都会发送静态有效负载,其中包含在收到通知时需要向用户显示的消息。
收到通知后,我们/ iOS无法将消息从一种语言翻译成另一种语言。
所以我能想到的一个解决方案是,你必须找出用户的语言设置或偏好(基于他的语言环境),然后你才能在后端存储这个偏好。然后,当您要将通知发送给该用户时,您可以查找其语言首选项并将通知消息转换为该特定语言,并将消息设置为有效负载并将其发送给用户。
因此,您必须在后端对通知消息进行此转换,然后使用通知将其发送给用户。
HTH。
答案 1 :(得分:0)
使用FCM以多种语言发送推送通知的最佳方法是将消息(任何语言)以UTF-8格式编码并发送。
在android端,消息将是这样的。
“ [30,45,13,54,12,33]” **这些数字可能具有有益的价值
现在将JSONArray解码为String是剩下的唯一工作。
private static String getStringFromJSONArray(String text)
{
String decodedText = "";
Gson converter = new Gson();
Type type = new TypeToken<List<Byte>>(){}.getType();
List<Byte> iList = converter.fromJson(text, type);
byte[] bytes = new byte[iList.size()];
for(int i = 0; i<iList.size(); i++)
{
bytes[i] = iList.get(i);
}
decodedText = new String(bytes, StandardCharsets.UTF_8);
return decodedText;
}
您将获得使用您的语言的字符串。希望这会有所帮助。