推送通知(本地推送)

推送通知的使用細節:app

1,發出推送通知時,若是程序正運行在前臺,那麼推送通知就不會被呈現出來。對象

2,點擊推送通知後,默認會自動打開發出推送通知的app。遊戲

3,無論app打開仍是關閉,推送通知都能如期發出。進程

 

本地推送通知的使用場景:ci

經常使用來定時提醒用戶完成一些任務,好比清理垃圾,記帳,買衣服,看電影,玩遊戲。開發

//1,建立本地通知對象it

UILocalNotification *ln = [[UILocalNotification alloc]init];io

 

//2,設置通知屬性test

ln.soundName = @"buyao.wav"//音效文件名後臺

ln.alertBody = @"重大新聞:XXXX";//通知內容

ln.fireDate = [NSDate dateWithTimeIntervalSinceNow:5];//通知第一次發出的時間(5秒後發出)

ln.timeZone=[NSTimeZone defaultTimeZone];//設置時區(跟隨手機的時區)

ln.applicationIconBadgeNumber = 5  //設置app圖標數字

ln.repeatInterval = NSCalendarUnitMinute;//設置重複發出通知的時間間隔

ln.alertAction = @"查看新聞吧";

ln.userInfo = @{@"icon":@"test.png",@"title":@"重大新聞"}

//當即發送

[[UIApplication shareApplication]presentLocalNotificationNow:ln];

//3,調度通知(啓動任務)

[[UIApplication shareApplication] scheduleLocalNotification:ln];

 

 app已經被關閉(進程已死)
啓動app,啓動完畢會調用AppDelegate的下面方法

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;

launchOptions參數經過UIApplicationLaunchOptionsLocalNotificationKey取出本地推送通知對象
 
  讓app進入前臺,並會調用AppDelegate的下面方法(並不是從新啓動app)

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

 

//從在跳到下一個控制器以前,會執行前一個控制器的方法。seque 表明那根線

-(void)prepareForSeque:(UIStoryboardSeque*)seque sender:(UILocalNotification*)note;

 

//判斷在前臺仍是在後臺;

appliciation.aplliciationState   有一個枚舉裏有三個屬性  第一個是前臺  後面是後臺

相關文章
相關標籤/搜索