<iOS>百度推送

来源:互联网 发布:o nonblock linux 编辑:程序博客网 时间:2024/06/05 06:15

(一)主题:百度推送

(二)详细介绍

百度推送

需要导入的文件如下:


需要配置的

部分代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    // Override point for customization after application launch.

    

    if ([[[UIDevicecurrentDevice] systemVersion]floatValue] >= 8.0) {

        UIUserNotificationType myTypes =UIUserNotificationTypeBadge | UIUserNotificationTypeSound |UIUserNotificationTypeAlert;

        

        UIUserNotificationSettings *settings = [UIUserNotificationSettingssettingsForTypes:myTypes categories:nil];

        [[UIApplicationsharedApplication] registerUserNotificationSettings:settings];

    }else {

        

        UIRemoteNotificationType myTypes =UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeSound;

        [[UIApplicationsharedApplication] registerForRemoteNotificationTypes:myTypes];

    }

    

    [BPush registerChannel:launchOptions apiKey:@"O2xxg4eI5sWFviWXslxdpTo1"pushMode:BPushModeDevelopmentwithFirstAction:nilwithSecondAction:nilwithCategory:nilisDebug:YES];

    NSDictionary *userInfo = [launchOptionsobjectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

    if (userInfo) {

        

        [BPush handleNotification:userInfo];

    }

    

    [[UIApplicationsharedApplication] setApplicationIconBadgeNumber:0];

    return YES;

}


#pragma mark- 百度推送

- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings

{

    //register to receive notifications

    [application registerForRemoteNotifications];

}

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error{

    

    NSLog(@"DeviceToken获取失败,原因:%@",error);

}

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

{

    [BPush registerDeviceToken:deviceToken];

    [BPush bindChannelWithCompleteHandler:^(id result,NSError *error) {

    

        NSLog(@"getAppId:%@",[BPushgetAppId]);

        NSLog(@"getChannelId:%@",[BPushgetChannelId]);

        NSLog(@"getUserId:%@",[BPushgetUserId]);

//        [BPush setTag:@"Mytag" withCompleteHandler:^(id result, NSError *error) {

//            

//            if (result) {

//                

//                NSLog(@"设置tag成功");

//            }

//        }];

    }];

}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler

{

    NSLog(@"********** ios7.0之后边 **********");

    completionHandler(UIBackgroundFetchResultNewData);

//    if (application.applicationState == UIApplicationStateActive || application.applicationState == UIApplicationStateBackground)

//    {

        NSString *alert = [[userInfo objectForKey:@"aps"] objectForKey:@"alert"];

        NSLog(@"alert = %@",alert);

        UIAlertController *alertController = [UIAlertControlleralertControllerWithTitle:@"系统提示"message:alert preferredStyle:UIAlertControllerStyleAlert];

        

        UIAlertAction *cancelAction = [UIAlertActionactionWithTitle:@"取消"style:UIAlertActionStyleCancelhandler:nil];

        UIAlertAction *okAction = [UIAlertActionactionWithTitle:@"好的"style:UIAlertActionStyleDefaulthandler:nil];

        [alertController addAction:cancelAction];

        [alertController addAction:okAction];

        [self.window.rootViewControllerpresentViewController:alertController animated:YEScompletion:nil];

//    }

    ;

//    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:[UIApplication sharedApplication].applicationIconBadgeNumber + 1];

}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

{

    NSLog(@"********** ios7.0之前 **********");

    // App 收到推送的通知

    [BPush handleNotification:userInfo];

    if ( application.applicationState ==UIApplicationStateActive)

    {

        NSString *alert = [[userInfo objectForKey:@"aps"] objectForKey:@"alert"];

        NSLog(@"alert = %@",alert);

        UIAlertController *alertController = [UIAlertControlleralertControllerWithTitle:@"系统提示"message:alert preferredStyle:UIAlertControllerStyleAlert];

        

        UIAlertAction *cancelAction = [UIAlertActionactionWithTitle:@"取消"style:UIAlertActionStyleCancelhandler:nil];

        UIAlertAction *okAction = [UIAlertActionactionWithTitle:@"好的"style:UIAlertActionStyleDefaulthandler:nil];

        [alertController addAction:cancelAction];

        [alertController addAction:okAction];

        [self.window.rootViewControllerpresentViewController:alertController animated:YEScompletion:nil];

    }

}



0 0
原创粉丝点击