如何翻译 Firebase 推送通知?

Posted

技术标签:

【中文标题】如何翻译 Firebase 推送通知?【英文标题】:How to translate Firebase Push Notifications? 【发布时间】:2021-02-25 10:36:47 【问题描述】:

我正在使用 Firebase 云消息传递、云函数和 Flutter 作为框架发送 FCM 推送通知。自 3 小时以来,我一直在寻找接收带有翻译的后台通知的解决方案。我想以设备语言显示翻译。

我找到的是titleLocKeybodyLocKey 之类的参数,但我找不到任何使用这些参数的方法。在我的项目或服务器环境中,我必须在哪里包含这些变量?

我这样触发通知:

// Push Notification
const payload: admin.messaging.MessagingPayload = 
    notification: 
        title: "New User",
        body: "A new user entered your platform",
        badge: "1",
    


fcm.sendToDevice(userToken, payload);

你有什么想法吗?

【问题讨论】:

【参考方案1】:

有两种方法。

发送本地化内容

您或许可以在服务器端(例如在 Cloud Firestore 内部)跟踪用户的语言环境,并在发送之前在那里选择正确的翻译。 当向多个用户发送消息时,这往往会变得更加棘手。但是,您可以让用户订阅特定语言的主题,例如 lang_en, lang_fr, ...,并将您的本地化消息发送到这些主题。

使用本地化键

正如您已经提到的,有特定的键可用:titleLocKeybodyLocKey。如果您在特定平台中设置了正确的本地化字符串,则可以使用它们的键,平台将确定在通知中显示哪个标签。 对于 ios,这是在 Localizable.strings 文件中管理的,对于 android,在 res/values/strings.xml 中进行管理。

【讨论】:

我想使用第二种方法但我很困惑,在我已经配置了flutter_localization是关系或需要另一种res / values / strings.xml配置,谢谢 ***.com/questions/67909213/…我在这里问了一个问题,请检查 我在那里发布了答案

以上是关于如何翻译 Firebase 推送通知?的主要内容,如果未能解决你的问题,请参考以下文章

如何从设备本身发送 Firebase 推送通知? [复制]

如何使用 Firebase 在 Xamarin 中实现推送通知和使用 C# 后端的 Apple 推送通知

如何在firebase推送通知中重用旧通知令牌作为新令牌?

如何快速刷新 Firebase 推送通知

如何在firebase中处理推送通知

Firebase 推送通知如何在 IOS 上工作?