Facebook用户应用程序在用户与推送通知警报消息交互后自动关闭UIViewController。 我想知道他们如何检测用户点击了警报视图中的某个操作。UIAlert上的用户交互
我试图实现基于推送通知委托方法具体的解决方案:
func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData)
func application(application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: NSError)
不幸的是这是不是真的可靠,特别是对于那些已经注册的推送通知的设备。
这是一个YouTube视频与Facebook的实现工作流程
https://www.youtube.com/embed/sCg3vYx9hlw
UPDATE:
的问题是,当用户预先已删除的应用程序,并已经注册了这个方法被调用推送通知。在这种情况下,isRegisteredForRemoteNotifications是false,所以我要求registerForRemoteNotifications。显示警报时 - 即使用户未在警报对话框中单击任何选项,也会调用应用程序:didRegisterForRemoteNotificationsWithDeviceToken: 。
我已更新答案并提供了更多详细信息。即使用户未在警报对话框中单击任何选项,该方法有时也会被调用。 – Giuseppe
你在谈论'registerForRemoteNotifications'和'isRegisteredForRemoteNotifications'和'application:didRegisterForRemoteNotificationsWithDeviceToken:'。我正在讨论'registerUserNotificationSettings'。请确保你没有犯错。 – shpasta