728x90
반응형
swift fcm closed app push notification click event
APNs로 되어있던 프로젝트를 FCM으로 바꾸면서 푸시 테스트를 몇번씩 진행을 하는데 앱을 강제 종료한 뒤 (홈버튼을 두번 눌러 앱을 날리는 것) 푸시를 받아 클릭하면 앱이 실행되고 그 이후의 동작을 하지않는 것을 발견하였다.
앱이 terminated/closed된 이후에도 푸시 클릭 이벤트를 받아 해당 링크로 갈 수 있게 하기 위해서는 delegate 메소드에 원하는 코드를 추가해야한다.
AppDelegate
에UNUserNotificationCenterDelegate
를 추가한 뒤 아래 메소드를 추가한다.userNotificationCenter(_, didReceive, withCompletionHandler)
response에는 푸시에 담긴 데이터가 들어있다.
func userNotificationCenter(_ center: UNUserNotificationCenter,didReceive response: UNNotificationResponse,withCompletionHandler completionHandler: @escaping () -> Void) {let userInfo = response.notification.request.content.userInfo// Print message ID.if let messageID = userInfo[gcmMessageIDKey] {print("Message ID: \(messageID)")}// Print full message.print("userInfo : \(userInfo)")// userInfo는 [AnyHashable:Any] 형태를 갖는다.// 관련 로직을 추가한다.completionHandler()}
- 앱이 active 상태가 되면 작성한 로직대로 수행하게 된다.
- reference
- https://medium.com/ios-os-x-development/ios-remote-notification-with-firebase-tutorial-118acd3ebce1
- https://firebase.google.com/docs/cloud-messaging/ios/client?hl=ko
- https://stackoverflow.com/questions/35058870/handling-push-notifications-when-app-is-terminated
- https://stackoverflow.com/questions/35058870/handling-push-notifications-when-app-is-terminated
- https://medium.com/@ansujain/ios-application-life-cycle-d517a3c44e7e
반응형
'Programming > iOS' 카테고리의 다른 글
[iOS/Swift3.0] Navigation Controller와 Modal에서의 화면 전환 차이 (0) | 2018.05.22 |
---|---|
[iOS/Swift3.0] IBAction: Target-Action 알아보기 (0) | 2018.05.15 |
[iOS/Swift] FCM 메세지 수신, 포그라운드 앱에서 데이터 메시지 처리하기 (0) | 2018.04.12 |
[iOS/Swift3.0] 디바이스언어와 languageCode가 다를 때 (1) | 2018.04.12 |
[iOS/Swift3.0] Xcode9 Assets 오류 (0) | 2017.10.25 |