本地通知

本地推送通知

  • 什么是本地推送通知
    • 顾名思义,就是不需要联网就能发出的推送通知(不需要服务器的支持)
  • 本地推送通知的使用场景
    • 常用来定时提醒用户完成一些任务,比如
    • 清理垃圾、记账、买衣服、看电影、玩游戏

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已经被关闭(进程已死)

        • 启动app,启动完毕会调用AppDelegate的下面方法
          -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
          • launchOptions参数通过UIApplicationLaunchOptionsLocalNotificationKey取出本地推送通知对象

posted on 2017-02-16 21:25  Littleredguy鲁  阅读(154)  评论(0编辑  收藏  举报

导航