IOS APN中的多语言(推送通知)

时间:2016-05-09 06:51:00

标签: ios objective-c push-notification apple-push-notifications apn

我正在预订应用程序。我想在预订状态更新时向用户发送通知。

所以我在服务器端写了一些像这样的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

}

问题是,如何在从推送通知中收到状态标签(例如预订批准)后自定义消息(根据用户语言)?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您应该查看Remote Notification Payload guide,其中列出了可用于通知的所有密钥。您要查找的是 loc-key

  

loc-key :Localizable.strings文件中用于当前本地化的警报消息字符串的键(由用户的语言首选项设置)。可以使用%@和%n $ @说明符格式化键字符串,以获取loc-args数组中指定的变量。有关详细信息,请参阅本地化格式化字符串。

不是以任意选择的语言发送字符串,而是发送此密钥,警报将根据您的应用程序可用的本地化显示翻译文本。

此外,由于iOS 8.2, title-loc-key 可用于收到通知时Apple Watch中显示的标题。