App 推送消息的处理

在 iOS10 中,UserNotifications 框架为开发者提供了 UNUserNotificationCenterDelegate 协议,开发者可以通过实现协议中的方法,在 App 接收到推送消息和用户点击推送消息时进行一些业务逻辑的处理。

无论是本地推送还是远程推送的消息,App 的运行状态都可能处于以下三种状态:

1.App 正在前台运行,此时用户正在使用 App,收到推送消息时默认不会弹出消息提示框,willPresentNotification 回调方法会被调用,开发者可以从 UNNotification 对象中获取该推送消息的 payload 内容,进而获取自定义参数,然后显示一个自定义弹窗提示用户收到了新的消息;也可以在 willPresentNotification 方法中通过 completionHandler 函数的调用让推送消息直接在前台显示,用户点击前台显示的推送消息时,didReceiveNotificationResponse 回调方法也会被执行。

2.App 在后台运行,此时用户点击推送消息会将 App 从后台唤醒,didReceiveNotificationResponse 回调方法会被执行,开发者可以在该方法中获得 payload,解析自定义参数并自动打开对应的页面。

3.App 尚未启动,此时用户点击推送消息会打开 App,开发者可以从 launchOptions 中获取本地或远程推送消息中的自定义参数,待页面初始化完成后进行相关页面的跳转。

你可能感兴趣的:(App 推送消息的处理)