使用 Amazon SNS 向 iOS 发送推送通知并使用本地化格式化字符串处理它们

Posted

技术标签:

【中文标题】使用 Amazon SNS 向 iOS 发送推送通知并使用本地化格式化字符串处理它们【英文标题】:Send push notifications to iOS with Amazon SNS and handle them with Localized Formatted Strings 【发布时间】:2015-10-21 12:05:00 【问题描述】:

我正在尝试从 Amazon SNS 发送 ios 推送通知并且我能够做到,但我想使用本地化格式的字符串来发送通知并以正确的语言推送消息。

我正在使用 XCode 7.0.1 并使用 iPhone 5S 进行开发,但我认为这不是重点。

这就是我要发送的信息:

  
   "default":"This is the default Message",
   "APNS_SANDBOX":" "aps" :   "alert" : 
        "loc-key" : "GAME_PLAY_REQUEST_FORMAT",
        "loc-args" : [ "Jenna", "Frank"]
    ,"data":  "type": "dashboard", "opponentName":"Juan ","gameCategory":"Multimedia","gameType":"combo","ugid":"123456789" , "badge" : 9,"sound" :"default""

它可以发送,但它在设备中没有改变,消息是“GAME_PLAY_REQUEST_FORMAT”,所以我想显示的是我的 Localizable.strings 文件中这个键的值:

"GAME_PLAY_REQUEST_FORMAT" = "%@ and %@ have invited you to play";

我很高兴你可以在苹果的文档中做到这一点 (https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW21)

希望任何人都可以提供帮助。

谢谢

【问题讨论】:

有人能回答这个问题吗? 您已经解决了这个问题吗?请帮帮我! @TàTruhoada 我会在回复帖中回复你 【参考方案1】:

我会把答案贴在这里,让每个人都能看到。

@TàTruhoada 是的,您需要在有效负载中使用 loc-keys。您可以在以下链接中查看它的工作原理:Creating the Remote Notification Payload

使用 loc-key 传递在应用程序的 Localizable.strings 文件中定义的密钥。 iPhone 查找密钥并将其替换为为当前本地化找到的字符串。 您可以在 Erica Sadun 的此链接中查看更多信息:Building Notification Payloads

【讨论】:

谢谢!我成功了

以上是关于使用 Amazon SNS 向 iOS 发送推送通知并使用本地化格式化字符串处理它们的主要内容,如果未能解决你的问题,请参考以下文章

Amazon SNS Apple 推送通知教程中的错误(空指针异常)

未收到来自 Amazon SNS 的 GCM 推送通知

Xamarin.iOS 应用程序未运行时未处理 Amazon SNS 推送通知

使用 Amazon SNS 服务发送推送通知

将推送通知迁移到 FCM 或 Amazon SNS?

如何使用 Amazon Simple Notification Service (SNS) 批量发送数百万个推送通知