<iOS>百度推送

(一)主题:百度推送

(二)详细介绍

百度推送

需要导入的文件如下:


需要配置的

部分代码

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

    // Override point for customization after application launch.

    

    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) {

        UIUserNotificationType myTypes = UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert;

        

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

        [[UIApplication sharedApplication] registerUserNotificationSettings:settings];

    }else {

        

        UIRemoteNotificationType myTypes = UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeSound;

        [[UIApplication sharedApplication] registerForRemoteNotificationTypes:myTypes];

    }

    

    [BPush registerChannel:launchOptions apiKey:@"O2xxg4eI5sWFviWXslxdpTo1" pushMode:BPushModeDevelopment withFirstAction:nil withSecondAction:nil withCategory:nil isDebug:YES];

    NSDictionary *userInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

    if (userInfo) {

        

        [BPush handleNotification:userInfo];

    }

    

    [[UIApplication sharedApplication] 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:%@",[BPush getAppId]);

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

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

//        [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 = [UIAlertController alertControllerWithTitle:@"系统提示" message:alert preferredStyle:UIAlertControllerStyleAlert];

        

        UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];

        UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"好的" style:UIAlertActionStyleDefault handler:nil];

        [alertController addAction:cancelAction];

        [alertController addAction:okAction];

        [self.window.rootViewController presentViewController:alertController animated:YES completion: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 = [UIAlertController alertControllerWithTitle:@"系统提示" message:alert preferredStyle:UIAlertControllerStyleAlert];

        

        UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];

        UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"好的" style:UIAlertActionStyleDefault handler:nil];

        [alertController addAction:cancelAction];

        [alertController addAction:okAction];

        [self.window.rootViewController presentViewController:alertController animated:YES completion:nil];

    }

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值