国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > iOS > 正文

詳解iOS本地推送與遠程推送

2024-09-11 00:40:43
字體:
供稿:網(wǎng)友

一、簡介

分為本地推送和遠程推送2種。可以在應(yīng)用沒有打開甚至手機鎖屏情況下給用戶以提示。它們都需要注冊,注冊后系統(tǒng)會彈出提示框(如下圖)提示用戶是否同意,如果同意則正常使用;如果用戶不同意則下次打開程序也不會彈出該提示框,需要用戶到設(shè)置里面設(shè)置。一共有三種提示類型:

UIUserNotificationTypeBadge:應(yīng)用圖標右上角的信息提示

UIUserNotificationTypeSound:播放提示音

UIUserNotificationTypeAlert:提示框

二、本地推送

1 注冊與處理

代碼如下:

 /// 一般在在啟動時注冊通知,程序被殺死,點擊通知后調(diào)用此程序- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) { // iOS8 UIUserNotificationSettings *setting = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound categories:nil]; [application registerUserNotificationSettings:setting]; } if (launchOptions[UIApplicationLaunchOptionsLocalNotificationKey]) { // 這里添加處理代碼 } return YES;}/// 程序沒有被殺死(處于前臺或后臺),點擊通知后會調(diào)用此程序- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { // 這里添加處理代碼}

可以看到,處理代碼有兩個方法,一個是

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification;
另一個是
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;

如果程序沒有被殺死,即處于前臺或者后臺,那么調(diào)用前者;如果程序被殺死,則調(diào)用后者。

2 發(fā)送通知

代碼如下

- (IBAction)addLocalNotification { // 1.創(chuàng)建一個本地通知 UILocalNotification *localNote = [[UILocalNotification alloc] init]; // 1.1.設(shè)置通知發(fā)出的時間 localNote.fireDate = [NSDate dateWithTimeIntervalSinceNow:5]; // 1.2.設(shè)置通知內(nèi)容 localNote.alertBody = @"這是一個推送這是一個推送"; // 1.3.設(shè)置鎖屏時,字體下方顯示的一個文字 localNote.alertAction = @"趕緊!!!!!"; localNote.hasAction = YES; // 1.4.設(shè)置啟動圖片(通過通知打開的) localNote.alertLaunchImage = @"../Documents/IMG_0024.jpg"; // 1.5.設(shè)置通過到來的聲音 localNote.soundName = UILocalNotificationDefaultSoundName; // 1.6.設(shè)置應(yīng)用圖標左上角顯示的數(shù)字 localNote.applicationIconBadgeNumber = 999; // 1.7.設(shè)置一些額外的信息 localNote.userInfo = @{@"qq" : @"704711253", @"msg" : @"success"}; // 2.執(zhí)行通知 [[UIApplication sharedApplication] scheduleLocalNotification:localNote];}

效果如下:

3 取消通知

// 取消所有本地通知
[application cancelAllLocalNotifications];

三、遠程推送

與Android上我們自己實現(xiàn)的推送服務(wù)不一樣,Apple對設(shè)備的控制非常嚴格,消息推送的流程必須要經(jīng)過APNs(Apple Push Notification service).

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 闽侯县| 德安县| 寻甸| 满洲里市| 老河口市| 怀化市| 高要市| 资中县| 龙江县| 额济纳旗| 通辽市| 南溪县| 开阳县| 景宁| 平泉县| 长丰县| 灵川县| 梁平县| 兴业县| 赤峰市| 香港 | 京山县| 包头市| 扎赉特旗| 额济纳旗| 彭泽县| 玉林市| 土默特右旗| 定结县| 吉安市| 洪雅县| 永清县| 海原县| 黎城县| 来宾市| 阿鲁科尔沁旗| 九寨沟县| 定日县| 威信县| 濮阳市| 垣曲县|