国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 秭归县| 喀喇沁旗| 庆安县| 陆丰市| 修武县| 漳浦县| 略阳县| 北辰区| 儋州市| 岗巴县| 南木林县| 左云县| 达拉特旗| 化德县| 昔阳县| 新源县| 枣阳市| 维西| 南召县| 清涧县| 锡林郭勒盟| 东兴市| 曲阳县| 南平市| 长顺县| 铁岭县| 上饶县| 当雄县| 甘洛县| 张家川| 遵义市| 清新县| 河南省| 通化市| 玉田县| 辰溪县| 申扎县| 新河县| 宣化县| 新河县| 靖州|