关于推送通知

带你走进推送

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

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

首先直接进入主题讲解下载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 *)applicationdidReceiveRemoteNotification:(NSDictionary *)userInfofetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler {if (application.applicationState == UIApplicationStateActive) { NSLog(@"active"); //程序当前正处于前台 
} else if(application.applicationState == UIApplicationStateInactive) { NSLog(@"inactive"); //程序处于后台 
}
}

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

这个模块将持续更新

你可能感兴趣的:(关于推送通知)