本地通知
本地推送通知
- 什么是本地推送通知
- 顾名思义,就是不需要联网就能发出的推送通知(不需要服务器的支持)
- 本地推送通知的使用场景
- 常用来定时提醒用户完成一些任务,比如
- 清理垃圾、记账、买衣服、看电影、玩游戏
2.1-如何发出本地推送通知
-
创建本地推送通知对象
UILocalNotification *ln = [[UILocalNotification alloc] init];- 设置本地推送通知属性
- 推送通知的触发时间(何时发出推送通知)
@property(nonatomic,copy) NSDate *fireDate; - 推送通知的具体内容
@property(nonatomic,copy) NSString *alertBody; - 在锁屏时显示的动作标题(完整标题:“滑动来” + alertAction)
@property(nonatomic,copy) NSString *alertAction; - 音效文件名
@property(nonatomic,copy) NSString *soundName; - app图标数字
@property(nonatomic) NSInteger applicationIconBadgeNumber;
-
调度本地推送通知(调度完毕后,推送通知会在特地时间fireDate发出)
[[UIApplication sharedApplication] scheduleLocalNotification:ln]; - 获得被调度(定制)的所有本地推送通知
(已经发出且过期的推送通知就算调度结束,会自动从这个数组中移除)@property(nonatomic,copy) NSArray *scheduledLocalNotifications; - 取消调度本地推送通知
-(void)cancelLocalNotification:(UILocalNotification *)notification; -(void)cancelAllLocalNotifications; - 立即发出本地推送通知
-(void)presentLocalNotificationNow:(UILocalNotification *)notification;
2.2-本地推送通知的其他属性
-
每隔多久重复发一次推送通知
@property(nonatomic) NSCalendarUnit repeatInterval; -
点击推送通知打开app时显示的启动图片
@property(nonatomic,copy) NSString *alertLaunchImage; -
附加的额外信息
@property(nonatomic,copy) NSDictionary *userInfo; -
时区
@property(nonatomic,copy) NSTimeZone *timeZone;(一般设置为[NSTimeZone defaultTimeZone],跟随手机的时区)
2.3-点击本地推送通知
-
当用户点击本地推送通知,会自动打开app,这里有2种情况
-
app并没有关闭,一直隐藏在后台
- 让app进入前台,并会调用AppDelegate的下面方法(并非重新启动app)
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification;
- 让app进入前台,并会调用AppDelegate的下面方法(并非重新启动app)
-
app已经被关闭(进程已死)
- 启动app,启动完毕会调用AppDelegate的下面方法
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;- launchOptions参数通过UIApplicationLaunchOptionsLocalNotificationKey取出本地推送通知对象
- 启动app,启动完毕会调用AppDelegate的下面方法
-
posted on 2017-02-16 21:25 Littleredguy鲁 阅读(159) 评论(0) 收藏 举报
浙公网安备 33010602011771号