<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];
}
}
- iOS推送 (百度推送)
- iOS推送 (百度推送)
- ios 推送消息 极光推送/百度推送
- 百度 iOS推送
- iOS百度推送
- <iOS>百度推送
- 百度推送iOS
- iOS 百度推送
- iOS - 百度推送
- 百度推送(iOS)
- 百度云推送----iOS
- ios 百度推送
- iOS 百度云推送详解
- 百度推送--IOS(一)
- 百度推送--IOS(一)
- 百度云推送 Android+IOS
- iOS百度云推送问题
- iOS之百度云推送
- LeetCode Isomorphic Strings
- leetcode 295:Find Median from Data Stream
- js中的for循环 写法的效率对比
- Mpchart被其父控件HorizontalScrollView影响无法左右拨动
- U方法的使用
- <iOS>百度推送
- poj 1002 487-3279
- 同一个ip通一个80端口部署多个网站的原理-虚拟主机技术本质解析
- 图的深度优先搜索(DFS),广度优先搜索(BFS)与最小生成树(MST)
- Struts2工作原理
- JS 如何实现两个div的内容调换
- Spark---ending
- switch开关语句 没有break是如何执行的
- 你不知道的JavaScript--Item21 漂移的this