我正在使用推送工具包并接收消息,但通知中心未显示该消息
Posted
技术标签:
【中文标题】我正在使用推送工具包并接收消息,但通知中心未显示该消息【英文标题】:I am using push kit and and receiving message but notification centre not showing that message 【发布时间】:2016-08-29 09:15:23 【问题描述】:我正在实现推送工具包并在委托方法“didReceiveIncomingPushWithPayload”中接收远程通知,但通知中心没有显示该消息。我已经在我的设备中检查了“通知-> 应用”允许通知并在通知中心显示选项已启用。
【问题讨论】:
【参考方案1】:如果您使用以下方法。
func pushRegistry(registry: PKPushRegistry!, didReceiveIncomingPushWithPayload payload: PKPushPayload!, forType type: String!)
然后,pushkit 有助于获得静默推送通知,远程通知不会像简单的 APNS 那样进入通知中心。
现在,当您收到带有所需信息的远程通知时,您必须通过此方法安排UILocalNotification
,它将进入通知中心。
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
if let notification:UILocalNotification = launchOptions?[UIApplicationLaunchOptionsLocalNotificationKey] as? UILocalNotification
即使您可以将 UILocalNotification 对象保留在 NSUserDefault 中,所以您可以在 didFinishLaunchingWithOptions 中检索它,以防用户设备正在重新启动并且通知信息非常重要。
【讨论】:
感谢@Hasya,我正在点击任何通知,然后在 didFinishLaunchingWithOptions 委托方法中,launchOptions 字典为零。因此,无法检测到点击了哪个通知。 如果您从 didReceiveIncomingPushWithPayload 安排 UILocalNotification 并且当您点击通知时,您必须在 didFinishLaunchingWithOptions 中获取它。检查我的更新答案。 得到了解决方案,感谢您的快速反馈@Hasya,当我点击通知时,会调用 didReceiveLocalNotification 委托方法。 欢迎您,如果我的回答对您有价值,请接受。祝您编码愉快。以上是关于我正在使用推送工具包并接收消息,但通知中心未显示该消息的主要内容,如果未能解决你的问题,请参考以下文章
Flutter Firebase 消息传递 - 应用打开时未显示推送通知
从 appery 发送时,iPhone 上未收到推送通知消息