当应用程序是前台和后台时分辨推送通知处理程序
如果应用程序处于前台,我们必须处理“didReceiveRemoteNotification”中的推送通知,并且如果应用程序是在用户点击应用的“查看”按钮时使用“didFinishLaunchingWithOptions”的背景中。由于我没有电话来测试,我想知道我是否正确处理这个问题。当应用程序是前台和后台时分辨推送通知处理程序
1)当我点击推送通知中的“查看”按钮时会调用什么?
2)假设我在前台运行应用程序并同时收到推送通知。我会得到推送通知警报吗?如果是的话,如果用户点击查看按钮会发生什么?
3)在此线程How to handle push notifications if the application is already running?它说:
“提醒”键将不会有直接的用户信息字典下,你需要得到另一个字典名称为“APS”,然后获得“警报“或‘身体’,从‘APS’字典”
这是真的吗?
4)我需要推到时的查看按钮,用户点击。因此,做我需要处理一定的看法那两种方法的代码?
谢谢
有通过推送通知这个苹果VID调用的方法一个很好的破败:http://developer.apple.com/videos/iphone/#video-advanced-pushnotification - 确保您访问iTunes中下载完整版。
这种直接的联系可能的工作:http://developer.apple.com/itunes/?destination=adc.apple.com.3391495696.03391495702.3416205190?i=1378617410
无论哪种方式,总的想法是,如果您的应用程序是不是在前台,攻您的视图按钮会触发didFinishLaunchingWithOptions,如果是前台应用程序,你会得到didReceiveRemoteNotification。
我不认为你会得到警报。方法didReceiveRemoteNotification将被调用,如果需要,它将由您决定显示一个UIAlert。
是的 - 这是真的。
是的,但我认为你可以通过创建专门设计来处理你的视图的第三种方法来简化这一点。您可以通过didFinishLaunching(,仅在通过通知启动时)以及didReceiveRemoteNotification来调用此方法。这样,如果您的应用程序需要启动,您可以有时间做任何其他设置,您可能需要为应用程序执行任何其他设置(即加载保存的数据,init tabbar控制器或其他任何类似的东西)。
祝你好运