/**
* 网络推送
应用场景
1、每天晚上8点影视剧推送
2、小说更新推送
3、游戏活动推送
4、新闻推送
5、健康推送
奇葩使用方法:
1、聊天
2、查询某人的行为
3、提醒业务。比方一些秀场。女主播能够发送通知给支持她们的土豪
*/
//启用推送通知。比較简单。ios8之前一句话搞定
//推断版本号
if ([[[UIDevice currentDevice]systemVersion] floatValue]>=8.0) {
[[UIApplication sharedApplication]registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
//开启通知
[[UIApplication sharedApplication]registerForRemoteNotifications];
}else{
[[UIApplication sharedApplication]registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeSound];
}
//当我们接到通知之后,怎样去处理。首先去处理一个标识
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{
//我们首先获取一个token,相当于我们用的qq。须要一个号,那么这个qq是谁,是苹果server。我们通过自己的设备向苹果server发起一个请求。告诉他我们的应用须要标识,作为他们之间的联系。
//获取token须要进行处理。把这个标识发给我们的server做记录。当我们的server须要给用户发消息的时候,使用这个标识+我们要发送的消息给苹果APNSserver,苹果会依据标识转发到对应的手机里面
//那么为什么能接受到消息,由于在有网的情况下,手机是一直和苹果server保持通讯的,从理论上来说,苹果能够控制不论什么一台手机的相关操作
//最明显的就是。在你手机关闭网络的情况下。你收不到不论什么消息。可是在有网的时候。会一下弹出非常多消息
NSLog(@"%@",deviceToken);
//把收到的token发送到server上去,这就须要server开辟相关的接口
}
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error{
NSLog(@"%@",error);
//模拟器不支持远程通知
//在我们没有配置证书
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
//接受
}