有关可本地化推送有效内容的一些问题

时间:2019-07-15 15:01:29

标签: ios

在Apple的推送文档中,他们给出了以下示例有效负载

{
    "aps" : {
        "alert" : {
            "loc-key" : "GAME_PLAY_REQUEST_FORMAT",
            "loc-args" : [ "Jenna", "Frank"]
        },
        "sound" : "chime.aiff"
    },
    "acme" : "foo"
}

描述为

  

以下有效负载使用loc键指定本地化字符串   在应用程序的Localizable.strings文件中。该字符串显示为   警报消息。 loc-args包含要替换为的值   显示之前的字符串。

“ loc-key”或“ loc-args”中没有任何内容指示标题,副标题或消息的含义,那么替换如何应用?

该有效载荷将如何扩展以将相同的原理应用于推送警报标题,字幕和正文,以使这三个内容都从Localizable.strings文件中提取?

1 个答案:

答案 0 :(得分:0)

您可以选中here

您有loc-key作为正文部分,也有title-loc-key和subtitle-loc-key。如果在收到消息后使用这些键一次,则这些键将使用Localizable.strings文件中的值进行更改。

这是一个示例:

{
   "aps" : {
      "alert" : {
         "loc-key" : "KEY",
         "title-loc-key" : "MY_TITLE_KEY",
         "subtitle-loc-key" : "MY_SUBTITLE_KEY"
      }
   }
}

作为补充说明,在此类情况下使用loc-args,title-loc-args和subtitle-loc-args:

您要本地化字符串,该字符串表示您在通知标题中获得了多少积分。

您的字符串文件中需要这样的行:

...
"wining_notification_title_key" = "You won %@ points";
...

然后int通知将是:

{
   "aps" : {
      "alert" : {
         "title-loc-key" : "wining_notification_title_key",
         "title-loc-args" : ["5"]
      }
   }
}