如何处理未打开的推送通知(iOS、Swift)
因此,我正在运行一个Swift应用程序,并使用如何处理未打开的推送通知(iOS、Swift),ios,swift,push-notification,Ios,Swift,Push Notification,因此,我正在运行一个Swift应用程序,并使用Parse来处理推送通知。到目前为止,一切正常 我通过推送通知发送JSON对象,并根据接收到的数据更新本地数组。我通过应用程序处理数据:didReceiveMemotentification,并通过userInfo发送词典 当应用程序在前台打开时,这一点非常有效。当应用程序在后台并且用户在横幅中显示推送通知时,它也非常有效 JSON对象是根据应用程序:didReceiveEmotentification代码处理的 但是,当用户未打开通知时,appli
Parse
来处理推送通知。到目前为止,一切正常
我通过推送通知发送JSON
对象,并根据接收到的数据更新本地数组。我通过应用程序处理数据:didReceiveMemotentification
,并通过userInfo
发送词典
当应用程序在前台打开时,这一点非常有效。当应用程序在后台并且用户在横幅中显示推送通知时,它也非常有效
JSON对象是根据应用程序:didReceiveEmotentification
代码处理的
但是,当用户未打开通知时,application:didReceiveMemotentification
不会运行,我的本地数组也不会更新
如何确保每次发送通知时,JSON对象都得到处理并相应地更新我的本地数组?只有用户单击它并执行
didReceiveMemotentification
或didFinishLaunchingWithOptions
方法get invoke,才能从通知中获取响应或JSON对象
在ios8中,您可以设置交互式通知,这对于直接从通知进行交互非常有用,而无需在前台打开应用程序
它是交互式通知的教程
这可能会对您有所帮助。这通常是不正确的方法,您不应该依赖推送通知,用户可能会关闭它们,或者由于某些原因,它们可能无法提供。相反,您应该始终从服务器获取新数据。请阅读以下文章: 重要信息:发送通知是一种“最大努力”,而不是保证。它的目的不是向应用程序传递数据,只是通知用户有新数据可用 即使用户不点击通知或与通知交互,此方法也将调用 当远程通知到达时,系统调用
application:didReceiveEmotentification:fetchCompletionHandler:
方法。通知通常表示新信息的可用性。在应用程序委派方法中,您可以开始从服务器下载新数据,以便更新应用程序的数据结构。您还可以使用通知来更新用户界面。
-苹果公司
应用程序的状态必须为UIApplicationStateActive
或UIApplicationStateBackground
如果应用程序的状态为
UIApplicationStateInactive
,则无法执行任何操作。感谢您提供的信息!我现在将通过服务器更新本地数据。。。这次需要一大杯咖啡!嗨,我知道这有点晚了,但我也一直在使用Parse,Parse有非常强大的在线和离线数据库功能,如果你想做服务器端的工作,你可以使用这些功能来简化你的生活。
application:didReceiveRemoteNotification:fetchCompletionHandler: