不同的语言通知 Firebase

different language notification Firebase

如果设备是英文的,我该如何发送通知,而其他所有语言的通知呢?

我试着做了两个不同的观众,但是两个观众都是空的。

每当您向用户发送通知时,您都会发送一个静态负载,其中包含一条消息,需要在收到通知时向用户显示。

收到通知后we/iOS无法将消息从一种语言翻译成另一种语言。

所以我能想到的一个解决方案是,您必须找出用户的语言设置或偏好(基于他的语言环境),然后您必须将此偏好存储在后端。然后,当您想向该用户发送通知时,您可以查找他的语言偏好并将您的通知消息转换为该特定语言,并将消息设置为有效负载并将其发送给该用户。

所以底线是,您必须在后端对通知消息进行翻译,然后使用通知将其发送给用户。

HTH.

使用 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;
}

您将在 language.Hope 中获得字符串,这很有帮助。