【问题标题】:get remote push notification message in background in iOS在 iOS 后台获取远程推送通知消息
【发布时间】:2016-08-02 22:33:12
【问题描述】:

我有一个应用程序需要在后台获取远程推送通知的消息,以便当用户点击应用程序图标并恢复/启动应用程序时,该应用程序可以显示一个显示通知消息的警报视图。 我打算做的是使用函数

"application:didReceiveRemoteNotification:fetchCompletionHandler:"

当应用程序处于后台时,当通知到达时将被调用。我将首先在此功能中记录远程通知消息,然后当应用程序启动或恢复到前台时,我将显示警报视图以显示保存的消息。 有没有人有同样的经历?

【问题讨论】:

    标签: ios background push-notification


    【解决方案1】:

    你可以照你说的做。它会起作用的。 但是,请记住,如果应用程序不在后台(由用户手动退出),函数 application:didReceiveRemoteNotification:fetchCompletionHandler: 将永远不会被调用。 如果一切正常,您必须将消息存储在数据模型中。还要考虑在用户打开应用之前收到多个通知的情况。

    【讨论】:

    • 或者确实是没有收到通知的情况; push 非常可靠,但不能保证。最佳做法是在应用程序启动/恢复时检查服务器,以防遗漏任何内容
    • 好的。那么当应用程序没有运行时,我将无法获取消息?
    • 不幸的是:/例如在您的应用未运行但通过通知启动的情况下。
    • 解决方案是在您的应用程序中实现一个功能,告诉您的服务器收到通知(在这种情况下,您可以将消息本地存储在应用程序中)。然后,您可以删除服务器数据库上的待处理消息/通知。如果您的服务器没有收到回叫,则意味着应用程序未启动或设备已关闭。在这种情况下,您必须实现另一个函数,该函数在您的应用启动时调用,向您的服务器询问所有未决消息;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 1970-01-01
    • 2018-08-15
    相关资源
    最近更新 更多