网络推送的简单使用

/**
     *  网络推送
        应用场景
       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{
    //接受
}

posted @ 2018-02-03 08:31  llguanli  阅读(376)  评论(0编辑  收藏  举报