远程推送

来源:互联网 发布:平安银行网络贷款 编辑:程序博客网 时间:2024/05/29 12:16

推送通知的过程可以分为以下几步:
    1.    应用服务提供商从服务器端把要发送的消息和设备令牌(device token)发送给苹果的消息推送服务器APNs。
    2.    APNs根据设备令牌在已注册的设备(iPhone、iPad、iTouch、mac等)查找对应的设备,将消息发送给相应的设备。
    3.    客户端设备接将接收到的消息传递给相应的应用程序,应用程序根据用户设置弹出通知消息。


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    //想APNS(苹果推送服务器)注册远程推送通知,APNS返回device token
    float version = [[[UIDevice currentDevice] systemVersion] floatValue];
    if (version >= 8.0) {
        [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeSound|UIUserNotificationTypeBadge categories:nil]];
        
        //注册远程推送通知
        [[UIApplication sharedApplication] registerForRemoteNotifications];
    }else{
        //ios8以下
        [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeSound|UIRemoteNotificationTypeBadge];
    }
    
    return YES;
}

//当向APNS注册成功时的回调函数
-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
    NSLog(@"%@",deviceToken);
    //需要把deviceToken上传到服务端,要服务端提供接口
}

-(void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error{
    NSLog(@"%@",error.localizedDescription);
}

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
    NSLog(@"收到了远程推送通知");
}

0 0
原创粉丝点击