关于推送通知

2016-06-28  本文已影响20人  style_施

带你走进推送

在推送平台特别多,例如极光,友盟等等 但实现它的推送功能都是大同小异

配置推送证书 这些我就不再说了百度上搜一大堆

首先直接进入主题讲解下载AppDelegate中对于通知需要用到的几个重要的方法

-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{ NSLog(@"%@",deviceToken);//这里的Token就是我们设备要告诉服务端的Token码
}

UIApplicationDelegate中提供了两个方法来处理推送的回调,其中第二个方法是iOS7以后才有的:

// 如果app在前台运行,系统收到推送时会调用该方法
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { 
// 处理推送消息 NSLog(@"userinfo:%@",userInfo); NSLog(@"收到推送消息:%@",[[userInfo objectForKey:@"aps"] objectForKey:@"alert"]);
}
// 不管app是在前台运行还是在后台运行,系统收到推送时都会调用该方法
- (void)application:(UIApplication *)applicationdidReceiveRemoteNotification:(NSDictionary *)userInfofetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler {if (application.applicationState == UIApplicationStateActive) { NSLog(@"active"); //程序当前正处于前台 
} else if(application.applicationState == UIApplicationStateInactive) { NSLog(@"inactive"); //程序处于后台 
}
}

很明显可以看出第一个方法的缺陷,就是当程序在后台运行时候不会调用该方法。

这个模块将持续更新

上一篇 下一篇

猜你喜欢

热点阅读