`

关于百度推送iOS开放技术文档

阅读更多
1.倒入百度 SDK 第三方包
2.添加依赖框架:
LibZ.dylib
CoreGraphics.frameWork
CoreTelePhony.framework
SystemConfiguration.framework
3.添加百度SDK所依赖的JSONKit 第三方文件 并对jsonKit 禁arc处理。

做完如上的三步就开始代码的实现了:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
//    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
   
    [[UINavigationBar appearance] setTintColor:[UIColor grayColor]];
    [application setStatusBarHidden:YES];
    // iOS8 下需要使用新的 API
    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];
    }
#warning 上线 AppStore 时需要修改 pushMode
    // 在 App 启动时注册百度云推送服务,需要提供 Apikey
    [BPush registerChannel:launchOptions apiKey:@"your keys" pushMode:BPushModeDevelopment isDebug:YES];
   
   
    //    [BPush setupChannel:launchOptions];
   
    // 设置 BPush 的回调
    [BPush setDelegate:self];
   
    // App 是用户点击推送消息启动
    NSDictionary *userInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
    if (userInfo) {
        NSLog(@"从消息启动:%@",userInfo);
        [BPush handleNotification:userInfo];
    }

   
    return YES;
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
    // 打印到日志 textView 中
//    [self.viewController addLogString:[NSString stringWithFormat:@"backgroud : %@",userInfo]];
    completionHandler(UIBackgroundFetchResultNewData);
   
}

// 在 iOS8 系统中,还需要添加这个方法。通过新的 API 注册推送服务
- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings
{
   
    [application registerForRemoteNotifications];
   
   
}


- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
    NSLog(@"test:%@",deviceToken);
    [BPush registerDeviceToken:deviceToken];
    [BPush bindChannel];
   
    // 打印到日志 textView 中
//    [self.viewController addLogString:[NSString stringWithFormat:@"Register use deviceToken : %@",deviceToken]];
   
   
}

// 当 DeviceToken 获取失败时,系统会回调此方法
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
{
    NSLog(@"DeviceToken 获取失败,原因:%@",error);
}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
    // App 收到推送的通知
    [BPush handleNotification:userInfo];
//    [self.viewController addLogString:[NSString stringWithFormat:@"Received Remote Notification :\n%@",userInfo]];
   
    NSLog(@"%@",userInfo);
}

#pragma mark Push Delegate
- (void)onMethod:(NSString*)method response:(NSDictionary*)data
{
//    [self.viewController addLogString:[NSString stringWithFormat:@"Method: %@\n%@",method,data]];
   
}
分享到:
评论

相关推荐

    百度推送Demo

    【百度推送Demo】是百度提供的一种移动应用消息推送服务的示例代码,旨在帮助开发者更好地理解和集成百度推送服务。此服务允许开发者向Android和iOS设备发送通知和自定义消息,提高用户活跃度和应用粘性。 一、百度...

    java实现IPHONE推送功能技术文档

    这个压缩包里面包含三个DOC文件:1.iphone推送java实现.doc 2....三个文档很全面的指导学者学习怎么用java实现ios推送功能,不仅仅是讲解怎么实现,还讲解原理和简单的例子,让学者更好的掌握,希望能帮助到大家!

    百度推送demo

    本文将深入探讨“百度推送”这一服务,以及如何在iOS平台上实现简单的文本和声音推送。 百度推送(Baidu Push)是百度提供的一项云消息推送服务,旨在帮助开发者高效、稳定地向移动设备发送消息,提高用户活跃度和...

    关于IOS_APNS推送消息(iphone端+服务端)

    本文将深入探讨iOS APNS推送消息的实现,包括iPhone端和服务端的设置和交互。 首先,让我们从iPhone端开始。在iOS应用中集成APNs推送功能,开发者需要做以下几件事: 1. **获取设备Token**:当用户安装并首次运行...

    友盟推送配置教程iOS

    友盟推送配置教程是针对iOS开发者的一份详细指南,旨在帮助开发者学会如何在iOS平台上实现友盟推送服务的配置。友盟推送(UMENG Push)是友盟网提供的一个免费推送服务,它可以为移动应用提供稳定的推送通知功能。 ...

    IOS远程推送开发手册

    在《iOS远程推送开发手册》.rtfd文件中,可能包含了关于这些步骤的详细教程、示例代码、常见问题解答和一些实用工具,帮助开发者快速理解和掌握iOS远程推送的实施。通过深入学习和实践,开发者能够熟练掌握这一技术...

    百度推送例子

    百度推送是一种基于云的消息推送服务,它允许开发者向Android和iOS设备发送即时消息,以提升用户活跃度和应用黏性。 首先,我们要理解什么是推送通知。推送通知是移动应用开发中的一个重要功能,它允许应用在后台向...

    ios推送工具.zip

    在iOS应用开发中,推送通知是一项至关重要的功能,它允许应用程序在用户不直接与应用交互时向用户发送消息。"ios推送工具.zip"是一个专为iOS开发者设计的工具,尤其适用于Mac用户,它简化了推送通知的测试过程,无需...

    U盟消息推送_phpios推送_php安卓推送_thinkphp推送

    以上就是关于"U盟消息推送"、"phpiOS推送"、"php安卓推送"以及"thinkPHP推送"的详细解释,希望对理解这些关键技术有所帮助。在实际项目中,理解并掌握这些知识点能够让你更高效地构建和优化消息推送系统。

    百度推送java服务器和安卓客户端代码

    "百度推送"是百度提供的一种高效、稳定的消息推送服务,广泛应用于Android应用程序,旨在提升用户体验和活跃度。本项目涵盖了百度推送的Java服务器端代码和Android客户端代码,下面我们将详细探讨这两个关键组件。 ...

    ios 消息推送 java后端demo(包括jar包)

    在iOS应用开发中,消息推送是一项重要的功能,它允许服务器向设备发送通知,即使应用程序在后台运行或完全关闭。这个“ios 消息推送 java后端demo”是为开发者提供的一个示例,帮助理解如何使用Java后端实现对iOS...

    iOS推送服务器

    在iOS应用开发中,推送服务是一项至关重要的功能,它允许应用程序在后台状态下向用户发送通知。iOS推送服务器,也就是Apple Push Notification service (APNs),是苹果公司提供的一个服务,用于向运行iOS、iPadOS...

    ios消息推送源码(含php服务端源码)

    在iOS应用开发中,消息推送是一项重要的功能,它能让开发者在用户不打开应用程序时,向他们发送通知。本文将深入探讨“ios消息推送源码”,包括PHP服务端的实现,适用于那些正在使用Xcode 6.1进行APNs(Apple Push ...

    pushDemo百度推送

    "pushDemo百度推送"是一个基于百度推送服务的示例项目,主要目的是展示如何集成和使用百度的推送服务来实现应用程序的消息通知功能。在移动应用开发中,消息推送是一种常见的用户互动方式,它允许开发者在用户不主动...

    友盟推送,安卓,IOS推送

    友盟推送服务是一款针对移动应用开发者提供的消息推送解决方案,它涵盖了Android和iOS两大主流操作系统,旨在帮助开发者提高用户活跃度、提升应用留存率以及进行精准的用户行为分析。在这个服务中,开发者可以向用户...

Global site tag (gtag.js) - Google Analytics