[iOS] 앱실행, 앱미실행시 특정 Notification 삭제

회사업무로 카카오톡, 라인 등과 같이 대화메시지를 보내고 상대방에 삭제시 "삭제된 메시지" 입니다로 변경되면서 해당 Notification만 삭제되는 것을 본적이 있다.

기존 Notification 개념으로는 Local Notification 를 제외하고는 제어 할 수 없었다고 생각했는데,

iOS 10 이상부터 NSUserNotification 의 경우 Local Notification 이랑 Remote Notification 둘다 제어가 가능하다고 한다. (제거까지 가능)

앱이 켜져있을때는 위와 같이 해결이 가능하여 문제가 없으나, 문제는 앱이 종료되어있을때 알림에 관여하지 못할때까 문제이다.

[현재 실험을 완료하지는 못한상태] 방법은 찾은것 같다.

작업전 Project > Notification Extantion 추가 (여기에서 작업하면 앱이 종료되도 된다고함.)

컬럼양식(참조)

1. APNS 푸시 보내기
apns-collapse-id :알림식별자 (64바이트 미만)
를 서버에서 APNS 알림 보낼시 지정해두고,

2. 삭제할 정보 푸시 보내기
위에서 정한 apns-collapse-id 를 다른 키값
del-id : 삭제할 apns-collapse-id 값으로 적용
푸시를 보내면

3. iOS 앱 Notification Extenstion
해당 서비스에서 del-id 라는 컬럼이 존재시 삭제하는 로직추가.

인 구조로 판단한고 있습니다.

실제로 앱종료시에 디버그가 불가능하여 확인할 테스트는 필요할것 같습니다.

(iOS)iOS10 이상 링크참조
https://medium.com/@sebastianosiski/implementing-removable-remote-notifications-on-ios-a17d74832bde

(서버)APNS 컬럼양식 링크참조
https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns

댓글

이 블로그의 인기 게시물

[iOS] 앱 아이콘 동적으로 변경하기 (Dynamically Change App icon)

[iOS18 Beta] WkWebView Cookies 못 가져오는 현상 (SameSite default Lax 변경)

[iOS] 앱스토어 등록 전, 후 URL 알아보기

[Xcode] add Simulators (시뮬레이터 추가하기)