xml地图|网站地图|网站标签 [设为首页] [加入收藏]

本地推送

来源:http://www.ccidsi.com 作者:集成经验 人气:177 发布时间:2020-04-05
摘要:1.推送通告有5种不一样的显现效果 概念 在荧屏最上部展现一块横幅 在显示屏中间弹出三个UIAlertView 在锁屏界面显示一块横幅(锁屏状态下,展现具体内容) 更新app图标的数字 广播音

1.推送通告有5种不一样的显现效果

概念

  • 在荧屏最上部展现一块横幅
  • 在显示屏中间弹出三个UIAlertView
  • 在锁屏界面显示一块横幅(锁屏状态下,展现具体内容)
  • 更新app图标的数字
  • 广播音响效果

1.推送公告有5种分化的显示效果

2.客户也得以调控是还是不是要开启以下4个效能:

在显示屏顶端呈现一块横幅(展现具体内容)

  • 呈现AppLogo数字
  • 广播音响效果
  • 锁屏展现
  • 展现在“通告主旨”

在显示屏中间弹出二个UIAlertView(突显具体内容)

3、注意:

在锁屏分界面显示一块横幅(锁屏状态下,展现具体内容)

  • 出殡推送布告时,若是程序正在前台推行,那么推送布告就不会被表现出来,不过Wechat在前台的时候也能推送音讯,方法是:成立一个view,仿造系统新闻文告的体制向下冒出,点击后回去根调控器再开展跳转
  • 点击文告会张开该照会的app
  • 任凭程序打开仍然关闭,推送都能限制时间发出

更新appLogo的数字(表达新剧情的数码)

1.制造本地通告对象

播音音响效果(提示功用)

UILocalNotification *localNotifi = [UILocalNotification new];

2.客商也足以操纵是或不是要拉开以下4个效果与利益:

2、设置属性,参照上面

显示AppLogo数字

3、调治本地通告 (将地面公告参预地点公告调整池,iOS 7 到这一步完结,无需授权State of Qatar

播音音响效果

[[UIApplication sharedApplication] scheduleLocalNotification:localNotifi];

锁屏呈现

4、 注册布告权限(四个照拂只需二遍, 提出坐落AppDelegate 的didFinishLaunchingWithOptions方式中),iOS8今后必得须求客户授权才可以发送文告

展示在“通告核心”

图片 1授权效果

3、注意:

UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert categories:nil];[[UIApplication sharedApplication] registerUserNotificationSettings:settings];

出殡推送通知时,假使程序正在前台施行,那么推送公告就不会被表现出来,不过Wechat在前台的时候也能推送音讯,方法是:成立三个view,仿造系统音讯公告的体裁向下冒出,点击后归来根调控器再开展跳转(注意压栈)

参数:

点击文告会张开该照会的app

settingsForTypes 通知需要更改的东西,可以修改多个地方,UIUserNotificationType 枚举:UIUserNotificationTypeNone = 0,UIUserNotificationTypeBadge = 1 << 0, //图标标记UIUserNotificationTypeSound = 1 << 1, //声音UIUserNotificationTypeAlert = 1 << 2, //提醒categories:用于添加下拉快速回复功能,下面有介绍

无论程序张开依然关闭,推送都能按时发出

5、删除文告(假诺设置了 repeatInterval 重复属性,注意手动删除通告对象)二种艺术:删除当前景序注册的全体通告,不另行的也会被吊销

步骤:

[[UIApplication sharedApplication] cancelAllLocalNotifications];

1.创立本地通告对象

剔除钦定的公告,平日用于打消重复的通知只怕还从未被调用的通报,先拿走公告,再遍历依据标准去删除(条件是 UserInfo 的值,是发送通告时所教导的参数)

UILocalNotification *localNotifi = [UILocalNotification new];

NSArray *notifiArray = [[UIApplication sharedApplication] scheduledLocalNotifications];for (UILocalNotification *local in notifiArray) { //将来可以根据UserInfo的值,来查看这个是否是你想要删除的通知 if (local.userInfo) { //删除单个通知 [[UIApplication sharedApplication]cancelLocalNotification:local]; }}

2、设置属性

UIApplication 方法

1、调解本地推送布告(调治完成后,推送通告会在特定的时光fireDate发出)

[[UIApplication sharedApplication] scheduleLocalNotification:localNotifi];

2、获取被调治的具备地点推送通告注意:已经暴发且过期的推送文告即便调整截止,会自行从这么些数组中移除

@property(nullable,nonatomic,copy) NSArray<UILocalNotification *> *scheduledLocalNotifications;

3、撤除调治本地推送布告

- cancelAllLocalNotifications;- cancelLocalNotification:(UILocalNotification *)notification;

4、马上发出本地推送文告[[UIApplication sharedApplication]presentLocalNotificationNow:localNotifi];

1、公告触发时间

@property(nullable, nonatomic,copy) NSDate *fireDate;

事例:每隔3秒发送一个通告

localNotifi.fireDate = [NSDate dateWithTimeIntervalSinceNow:3];

2、设置提示内容

@property(nullable, nonatomic,copy) NSString *alertBody;

例子:

localNotifi.alertBody = @"今天不适合敲代码";

3、设置推送声音,值为声音文件名,暗中认可值为 UILocalNotificationDefaultSoundName ,模拟器无效

@property(nullable, nonatomic,copy) NSString *soundName;

例子:

localNotifi.soundName = UILocalNotificationDefaultSoundName;

4、设置提示后应用程序右上角Logo标志

@property(nonatomic) NSInteger applicationIconBadgeNumber;

例子:

 localNotifi.applicationIconBadgeNumber = 5;

5、是或不是出示锁屏时 slider 文字,默以为YES,以致提示的开关文字

@property(nonatomic) BOOL hasAction;

安装提醒的开关文字 / 锁屏时分界面底部的闪光文字

@property(nullable, nonatomic,copy) NSString *alertAction;

锁屏分界面默许的是回复来查阅

图片 2锁屏分界面效果

在乎:那些值会改换七个地方,还会转移提示的开关文字

图片 3提醒Alter效果

6、设置时区,平常安装为 [NSTimeZone defaultTimeZone],跟随手提式有线电话机的时区

@property(nullable, nonatomic,copy) NSTimeZone *timeZone;

7、 设置双重,每隔多长期重复发二遍推送文告,单位是日历组件,最小单位是分钟,0代表不重复,借使此属性设置了, 那么调节池不会用完释放!供给手动删除文告对象

@property(nonatomic) NSCalendarUnit repeatInterval;localNotifi.repeatInterval = NSCalendarUnitMinute;

8、设置信任的日历历法,暗中认可正是尾随系统走,历法分歧等每月重复间隔时间也分歧等

@property(nullable, nonatomic,copy) NSCalendar *repeatCalendar;

事例:改过为按阳历时间另行

localNotifi.repeatCalendar = [NSCalendar calendarWithIdentifier:@"NSCalendarIdentifierChinese"];

9、在哪些区域发送布告, 步入这些区域就发送这一个通知能够进来调一回,出去调二回

@property(nullable, nonatomic,copy) CLRegion *region NS_AVAILABLE_IOS;

区域是还是不是只检查评定三遍

@property(nonatomic,assign) BOOL regionTriggersOnce NS_AVAILABLE_IOS;

10、设置运转图,点击推送布告打开app时呈现的开发银行图片

@property(nullable, nonatomic,copy) NSString *alertLaunchImage;

11、设置弹出框的标题

@property(nullable, nonatomic,copy) NSString *alertTitle NS_AVAILABLE_IOS;

12、设置布告推送教导的参数,常常用于点击通告张开钦命调节器页面

@property(nullable, nonatomic,copy) NSDictionary *userInfo;

事例: 发送布告时,带二个索引2的参数,点击文告展开程序后活动跳到第多个调控器(TabBarController)

localNotifi.userInfo = @{@"selectIndex" : @};

13、设置分类,用于增多下拉飞快上涨作用,下边有介绍

@property (nullable, nonatomic, copy) NSString *category NS_AVAILABLE_IOS;

图片 4案例布局,tabBarController的目录分别为0 1 2

1、选择到地点布告后调用(AppDelegate中),该方法独有前后相继前台或后台的时候才有用,退出不只怕收到到新闻即不能跳转,如供给在程序退出时推送文告,注意同盟上面格局一并行使(notification 参数中可获得 userInfo 参数来做一些作业)

- application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification;

2、程序退出获取当地公告的办法原理:程序退出前发送布告给系统,并传播 userInfo 新闻,然后退出,当接触布告时会唤醒AppDelegate的 didFinishLaunchingWithOptions 方法,系统又将 userInfo 新闻传给程序,并透过艺术的launchOptions 参数获取到地面文告对象

UILocalNotification *localNotifi = launchOptions[UIApplicationLaunchOptionsLocalNotificationKey];

注意,调节台不只怕直接打字与印刷布告对象,因为编写翻译程序已关门,只可以通进程序查看,可以成立二个label放在页面上,选择到通报后,将通知消息突显在label上

还要小心,程序在前台运转时,布告一致会发送来,程序接到通报会自动发出跳转(相当于机关点击了布告),这时大家须要对前后相继的景况实行剖断,假设在前台选拔到通告不开展此外操作或晋升客户是或不是开展跳转UIApplication 单例的二个主意能够查阅程序当前的情状

@property(nonatomic,readonly) UIApplicationState applicationState;

判断用户当前是否是激活状态 ,枚举值:UIApplicationStateActive, 激活UIApplicationStateInactive, 将要激活UIApplicationStateBackground 后台

AppDelegate 中完全代码:

- application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 请求用户授权 UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert categories:nil]; [[UIApplication sharedApplication] registerUserNotificationSettings:settings]; // 处理退出后通知的点击,程序启动后获取通知对象,如果是首次启动还没有发送通知,那第一次通知对象为空,没必要去处理通知 if (launchOptions[UIApplicationLaunchOptionsLocalNotificationKey]) { UILocalNotification *localNotifi = launchOptions[UIApplicationLaunchOptionsLocalNotificationKey]; [self changeLocalNotifi:localNotifi]; } return YES;}#pragma mark - 处理后台和前台通知点击- application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{ [self changeLocalNotifi:notification];}- changeLocalNotifi:(UILocalNotification *)localNotifi{ // 如果在前台直接返回 if ([UIApplication sharedApplication].applicationState == UIApplicationStateActive) { return; } // 获取通知信息 NSString *selectIndex = localNotifi.userInfo[@"selectIndex"]; // 获取根控制器TabBarController UITabBarController *rootController = (UITabBarController *)self.window.rootViewController; // 跳转到指定控制器 rootController.selectedIndex = [selectIndex intValue];}

如QQ的机能:触发文告后,点击下拉出现,点击“好的”几个字作为音信回复回去

图片 5QQ自动还原成效图

案例的功用:

图片 6案例效果

安装高速回复之后锁屏左滑会现身如下样式

图片 7锁屏左滑效果

1、发送文告时,给文告对象设置贰个 category 标记符,用于AppDelegate中的配置

localNotifi.category = @"category";

2、在AppDelegate中布局注册授权音讯

- application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 创建分类,注意使用可变子类 UIMutableUserNotificationCategory *category = [UIMutableUserNotificationCategory new]; // 设置标识符,注意与发送通知设置的category标识符一致~! category.identifier = @"category"; // 设置按钮,注意使用可变子类UIMutableUserNotificationAction // 设置前台按钮,点击后能使程序回到前台的叫做前台按钮 UIMutableUserNotificationAction *action1 = [UIMutableUserNotificationAction new]; action1.identifier = @"qiantai"; action1.activationMode = UIUserNotificationActivationModeForeground; // 设置按钮的标题,即按钮显示的文字 action1.title = @"呵呵"; // 设置后台按钮,点击后程序还在后台执行,如QQ的消息 UIMutableUserNotificationAction *action2 = [UIMutableUserNotificationAction new]; action2.identifier = @"houtai"; action2.activationMode = UIUserNotificationActivationModeBackground; // 设置按钮的标题,即按钮显示的文字 action1.title = @"后台呵呵"; // 给分类设置按钮 [category setActions:@[action1,action2] forContext:UIUserNotificationActionContextDefault]; // 注册,请求授权的时候将分类设置给授权,注意是 NSSet 集合 NSSet *categorySet = [NSSet setWithObject:category]; UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert categories:categorySet]; // 注册通知 [[UIApplication sharedApplication] registerUserNotificationSettings:settings];}

3、点击分类开关后开展还原新闻管理

分拣按键点击后进行的主意

- application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forLocalNotification:(UILocalNotification *)notification completionHandler:completionHandler{ // 我们可以在这里获取标识符,根据标识符进行判断是前台按钮还是后台按钮还是神马按钮,进行相关逻辑处理 NSLog(@"identifier : %@",identifier); // 一旦接受必须调用的方法(告诉系统什么时候结束,系统自己对内部进行资源调配) completionHandler();}

在意:该措施会有警示

图片 8警示分界面

告诫说completionHandler那个回调没调用,系统可望知晓您如何时候做完,系统届期和煦内部开展财富调配

3、调治本地文告 (将本地公告加入地点文告调解池,iOS 7 到这一步实现,不供给授权卡塔尔(قطر‎

[[UIApplication sharedApplication] scheduleLocalNotification:localNotifi];

4、 注册布告权限(五个通告只需一遍, 提出坐落AppDelegate 的

didFinishLaunchingWithOptions方法中卡塔尔(قطر‎,iOS8自此必得需求客户授权才方可发送公告

授权效果

UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert categories:nil];

[[UIApplication sharedApplication] registerUserNotificationSettings:settings];

参数:

settingsForTypes 通告供给更改的事物,能够改革七个地点,

本文由68399皇家赌场发布于集成经验,转载请注明出处:本地推送

关键词: 68399皇家赌场 日记本 iOS

最火资讯