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

首頁 > 系統 > iOS > 正文

IOS10 遠程推送適配詳細介紹

2020-07-26 03:00:44
字體:
來源:轉載
供稿:網友

IOS10 遠程推送適配

iOS10推送新增了UserNotifications Framework,使用起來其實很簡單。

建議看看極光推送的Demo,里面寫的更詳細。

只是在iOS10以上系統上點擊通知欄,回調方法不再走原來的這兩個方法

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {}- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {}

而是在前臺的時候回調

- (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler

從后臺進入的時候回調

- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler

直接說怎么用吧:

1,導入頭文件

#ifdef NSFoundationVersionNumber_iOS_9_x_Max#import <UserNotifications/UserNotifications.h>#endif

2,注冊通知

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法中

if (iOS10) {  UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];  center.delegate = self;  [center requestAuthorizationWithOptions:(UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert) completionHandler:^(BOOL granted, NSError * _Nullable error) {   if (!error) {    NSLog(@"succeeded!");   }  }]; } else if (iOS8_9){//iOS8-iOS9  UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound) categories:nil];  [application registerUserNotificationSettings:settings];  [application registerForRemoteNotifications]; } else {//iOS8以下  [application registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound]; }

3,回調方法中,獲取通知數據

- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler { NSDictionary *userInfo = response.notification.request.content.userInfo;   //消息處理 if([request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {  //判斷為遠程推送 }else {  // 判斷為本地通知  }}

4,對于本地通知沒有什么變化依然會回調

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

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 瑞安市| 临海市| 勐海县| 湛江市| 友谊县| 横山县| 安塞县| 伊春市| 泾川县| 大同县| 梓潼县| 泾川县| 吉木萨尔县| 山西省| 蒙阴县| 厦门市| 方山县| 黑水县| 陇川县| 县级市| 甘孜县| 南靖县| 沙坪坝区| 虎林市| 通州市| 磐石市| 鲜城| 潜山县| 平远县| 南部县| 从江县| 宾川县| 灵石县| 正安县| 万盛区| 通辽市| 铜陵市| 美姑县| 砚山县| 西和县| 行唐县|