最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IOS10 遠程推送適配詳細介紹

 更新時間:2016年12月24日 11:45:57   作者:ParadiseMayCry  
這篇文章主要介紹了IOS10 遠程推送適配詳細介紹的相關(guān)資料,iOS10推送新增了UserNotifications Framework,這里主要介紹如何實現(xiàn)遠程推送,需要的朋友可以參考下

IOS10 遠程推送適配

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

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

只是在iOS10以上系統(tǒng)上點擊通知欄,回調(diào)方法不再走原來的這兩個方法

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

而是在前臺的時候回調(diào)

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

從后臺進入的時候回調(diào)

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

直接說怎么用吧:

1,導(dǎo)入頭文件

#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,回調(diào)方法中,獲取通知數(shù)據(jù)

- (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,對于本地通知沒有什么變化依然會回調(diào)

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

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

相關(guān)文章

最新評論

陕西省| 马尔康县| 桦南县| 固镇县| 邹平县| 大荔县| 上犹县| 辛集市| 武夷山市| 金堂县| 巴塘县| 镶黄旗| 诏安县| 綦江县| 绥阳县| 镇雄县| 射洪县| 龙里县| 泾阳县| 盐源县| 德兴市| 卫辉市| 巴彦县| 卢龙县| 扎囊县| 饶阳县| 六枝特区| 广德县| 宣化县| 吴忠市| 柳州市| 宜城市| 宜宾县| 平山县| 盱眙县| 互助| 祥云县| 乳山市| 天镇县| 修武县| 新营市|