我正在预订应用程序。我想在预订状态更新时向用户发送通知。
所以我在服务器端写了一些像这样的json:
{
"aps":
{
"alert": "update status",
"category" : "booking approve", //can be "booking cancel" , "booking reject"
}
}
在IOS方面
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
let aps = userInfo["aps"] as! [String: AnyObject]
// need to customize and create notification message here
}
问题是,如何在从推送通知中收到状态标签(例如预订批准)后自定义消息(根据用户语言)?
感谢您的帮助。
答案 0 :(得分:2)
您应该查看Remote Notification Payload guide,其中列出了可用于通知的所有密钥。您要查找的是 loc-key :
loc-key :Localizable.strings文件中用于当前本地化的警报消息字符串的键(由用户的语言首选项设置)。可以使用%@和%n $ @说明符格式化键字符串,以获取loc-args数组中指定的变量。有关详细信息,请参阅本地化格式化字符串。
不是以任意选择的语言发送字符串,而是发送此密钥,警报将根据您的应用程序可用的本地化显示翻译文本。
此外,由于iOS 8.2, title-loc-key 可用于收到通知时Apple Watch中显示的标题。