AppDelegate의 PUSH 알림 수신 처리

3164 단어 SwiftiOS

입문


iOS에서 PUSH 알림을 수신할 때의 AppDelegate 방법을 요약합니다.
2021년 6월 추기: Xcode12에서 UIKit App DelegateSwiftUI App 을 선택할 수 있습니다.선택UIKit App Delegate의 경우 AppDelegateSceneDelegate 이 있습니다.본 보도는 ios12에 사용된 AppDelegate 상황을 기재하였다.

환경

  • Xcode: 10.2.1(2019년 7월), 12.5(2021년 6월 확인)
  • ios: 12.3.1(2019년 7월), 14.6(2021년 6월 확인)
  • AppDelegate의 PUSH 알림 종류


    ios 응용 프로그램에서 PUSH 알림을 받는 종류는 다음과 같은 세 가지입니다.
    다음은 각각 설명합니다.
  • 어플리케이션이 시작되지 않았을 때 PUSH 알림이 수신된 경우
  • 애플리케이션 시작 시 PUSH 알림이 수신된 경우
  • 배경 PUSH 알림을 받았을 때
  • 응용 프로그램이 시작되지 않았을 때 PUSH 알림을 받았을 때


    응용 프로그램이 시작되지 않았을 때 PUSH 알림을 받으면 알림 센터 등에 알립니다.이 알림을 누르면 프로그램이 시작됩니다.응용 프로그램이 시작되면 다음 AppDelegate 메서드가 호출됩니다.
    userNotificationCenter(_:didReceive:withCompletionHandler:)
    

    어플리케이션 시작 시 PUSH 알림 수신 시


    응용 프로그램이 시작될 때 (Foreground) AppDelegate의 다음 메시지가 호출됩니다.알림 센터가 표시되지 않습니다.
    userNotificationCenter(_:willPresent:withCompletionHandler:)
    

    백그라운드 PUSH 알림 수신 시


    화면에 PUSH 알림표를 표시할 수 없습니다. 프로그램이 시작되지 않은 상태에서도 PUSH 알림을 받았을 때 프로그램을 시작한 지 30초만에 처리할 수 있는 백그라운드 알림이 있습니다.알림 메시지에 content-available 를 입력합니다.서버 측의 PUSH 알림은 이전문장을 참조하십시오.
    백그라운드 PUSH 알림을 받으려면 Xcode 항목에서 다음과 같이 Capability에서 Remote Notifications를 선택합니다.백그라운드 PUSH 알림을 받을 수 있습니다.

    백그라운드 알림이 수신되면 AppDelegate의 다음 방법이 호출됩니다.
    application(_:didReceiveRemoteNotification:fetchCompletionHandler:) 
    

    참고 문헌

  • PUSH 알림 수신(userNotificationCenter(u:didReceive:withCompletionHandler:)
  • PUSH 알림 수신(userNotificationCenter(u:willPresent:withCompletionHandler:)
  • 백그라운드 알림
  • 좋은 웹페이지 즐겨찾기