【问题标题】:Handle Push Notification when the App is off, or without opening the App at all - iOS当应用程序关闭或根本不打开应用程序时处理推送通知 - iOS
【发布时间】:2016-06-09 14:36:13
【问题描述】:

我正在构建一个带有 Amazon SNS 的推送通知平台,使用 Amazon Cognito 和其他 Amazon AWS 工具,到目前为止工作完美无缺。

但是我的应用程序是多语言的,所以我试图在负载中只发送一条带有字典的单一推送消息,这个字典将包含一个包含我支持的所有语言的数组。

所以我只是不想简单地处理消息,我的意图是在选择应该出现给用户的正确语言之前根本不显示推送消息......随着应用程序被杀死或不是。

所以我的问题:

  1. 这似乎可能吗?

  2. 您建议采用什么方法来实现这一目标?

非常感谢大家。

【问题讨论】:

  • 推送通知支持本地化和格式化。
  • @rckoenes 在有效载荷或 APNS 中???你介意扩大吗?谢谢!
  • 查看@joride 的答案,苹果本地化文档的链接。
  • @rckoenes 所以你认为这是要走的路吗?

标签: ios push-notification apple-push-notifications push


【解决方案1】:
  1. 否(当用户终止应用或关闭后台提取时,不会有通知到达您的应用)。

  2. 在苹果的开发者网站上了解如何本地化推送通知。通过让系统进行本地化,您可以准确地实现您想要的。 查看推送负载中的适用密钥:https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/TheNotificationPayload.html

【讨论】:

    【解决方案2】:

    APNS 有如下一些限制:

    1. didReceiveRemoteNotifications 委托仅在应用程序处于前台或后台时执行。

    2. 如果应用程序被用户或操作系统终止/暂停,则通知将显示在通知中心,但不会调用相应的代理。

    3. 从项目设置中设置在后台模式下启用的后台获取和远程通知。

    4. 使用 application:didReceiveRemoteNotification:fetchCompletionHandler: delegate 而不是 didReceiveRemoteNotifications。

    希望这会对你有所帮助。

    【讨论】:

    • 第 2 点并不完全准确:当系统终止应用程序时,静默通知会唤醒您的应用程序。只有当用户通过从应用切换器屏幕向上滑动来终止应用时,应用才不再收到任何推送通知。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多