我正在开发一个应用程序,我已经实现了Push Notifications。现在我必须支持推送通知的多语言。 请建议推送通知的本地化是应该在应用程序端还是服务器端。 以及如何处理应用程序未运行时在Banner上显示的推送语言?
提前致谢
答案 0 :(得分:2)
就像您刚刚指出的那样,在您的应用未运行的情况下,操作系统将收到通知,并且不会在您的应用中运行任何代码来翻译它们,并会在收到时显示它们。因此,在发送之前,他们需要在服务器端进行翻译。该应用程序不应该担心它们被发送的语言 - 没有代码需要为此编写应用程序端。
当您将推送令牌注册到设备所设置的语言时,可能会存储设备区域设置。
答案 1 :(得分:1)
这是一个老问题,但它应该得到一个新的答案。
本地化的推送通知可以在服务器端或在应用程序中解决。
要发送本地化的通知,服务器端需要服务器知道用户的语言偏好,并且像aronspring所建议的那样,一个好时机是在注册推送令牌时。
要在手机上本地进行操作,您需要在应用程序包Localizable.strings文件中提供所有可能的通知及其翻译。然后,服务器将发送密钥到Localizable.strings中相应的翻译,而不是发送要显示的文本。
aps有效负载示例:
"aps" : {
"alert" : {
"loc-key" : "SOME_MESSAGE"
}
}
要获得更好的解释,请在此处阅读更多信息:Local and Remote Notification Programming Guide