您的位置:首页 > 其它

进入推送!

2016-06-28 16:03 330 查看

带你走进推送

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


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

首先直接进入主题

讲解下载AppDelegate中对于通知需要用到的几个重要的方法

-
这里是获取设备的deviceToken的方法(必须要执行)


-(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 *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler {
if (application.applicationState == UIApplicationStateActive) {
NSLog(@"active");
//程序当前正处于前台
}
else if(application.applicationState == UIApplicationStateInactive)
{
NSLog(@"inactive");
//程序处于后台
}
}


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

这个模块将持续更新

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: