IOS 10 원 격 푸 시 어댑터 상세 소개

IOS 10 원 격 푸 시 적합
iOS 10 푸 시 는 User Notifications Framework 를 새로 추 가 했 습 니 다.사용 하기 가 쉽 습 니 다.
극광 푸 시 데모 를 살 펴 보 는 것 이 좋 습 니 다.더 자세히 쓰 여 있 습 니 다.
다만 iOS 10 이상 시스템 에서 알림 표시 줄 을 클릭 하고 리 셋 방법 은 원래 의 이 두 가지 방법 으로 가지 않 습 니 다.

- (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 didFinishLaunching WithOptions:(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
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기