iOS推送通知处理

作者: CoderLT | 来源:发表于2015-06-12 12:42 被阅读4450次

1. App关闭时接收到他推送通知,通过点击推送通知来启动App

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;

在程序启动完成后,在此方法中可以得到推送通知的类容,此处又分为远程通知和本地通知的区别。

远程通知
NSDictionary *userInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
本地通知
UILocalNotification *localNoti = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
NSDictionary * userInfo = localNoti.userInfo;

这里,为了让主界面先加载完成,一般需要延迟一小段时间后再去处理推送通知,push出相应的响应页面等。

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                [self didReceiveNotification:userInfo];
            });

2.App正在运行时接收到推送通知

远程通知
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo;
本地通知
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification;
App状态
    UIApplicationStateActive, // 激活状态,用户正在使用App
    UIApplicationStateInactive, // 不激活状态,用户切换到其他App、按Home键回到桌面、拉下通知中心
    UIApplicationStateBackground // 在后台运行

根据application.applicationState的状态,判断执行哪种动作。

相关文章

  • iOS 推送通知

    iOS 推送通知 iOS 推送通知

  • iOS推送通知处理

    1. App关闭时接收到他推送通知,通过点击推送通知来启动App 在程序启动完成后,在此方法中可以得到推送通知的类...

  • iOS 玩转推送通知

    iOS 玩转推送通知 iOS 玩转推送通知

  • iOS 远程推送通知

    iOS 远程推送通知 分分钟搞定IOS远程消息推送 iOS推送通知的实现步骤 推送通知iOS客户端编写实现及推送服...

  • ios通知小结

    调试时发现,iOS 处理推送通知的方式在 iOS 9 和 iOS 10 上面有所不同。接收消息推送有两个代理方法:...

  • 【IOS】APP推送通知处理

    1.APP后台挂起状态 2.APP前台运行中 收到推送 方法①是ios7新加入的方法,并且如果实现了方法①那么方法...

  • iOS12中推送通知新特性

    iOS12中推送通知新特性 iOS12中推送通知新特性

  • iOS10推送通知整理总结

    这篇文章整理iOS10之后的推送通知(文中的推送通知,如不做特殊说明,默认是iOS10以后的推送通知) iOS10...

  • iOS推送通知学习与总结

    这篇文章整理iOS10之前的推送通知(文中的推送通知,如不做特殊说明,默认是iOS10以前的推送通知) iOS10...

  • iOS判断通知中心是否允许程序推送通知

    iOS 8.0后,获取推送通知类型改了,iOS 8.0的推送通知类型 是 UIUserNotificationTy...

网友评论

  • winvsmary:app未启动接受到通知,从icon启动,通知内容哪里获取,回调到哪里??
  • 97c2da937cc2:你好,请教下,点击推送消息,走苹果推送代理后 ,答应出来的userInfo 没有包含我需要的字段 只有body 跟title 后台传递的 url等其它字段 在哪里查看?
    CoderLT:userinfo 里面应该包含了所有的信息,如果没有的话,那就是后台没有传对

本文标题:iOS推送通知处理

本文链接:https://www.haomeiwen.com/subject/skvjqttx.html