[IOS] UNNotificationServiceExtension을 사용하여 푸시 알림의 내용을 변경

UNNotificationServiceExtension을 사용하여 푸시 알림의 내용을 변경하려면 다음과 같은 단계를 따를 수 있습니다. 이 단계는 Swift 언어를 기준으로 설명됩니다.

  1. 새로운 Notification Service Extension 생성: Xcode에서 프로젝트에 새로운 “Notification Service Extension”을 추가합니다. 이렇게 하면 NotificationService라는 클래스가 생성됩니다.

  2. NotificationService 클래스 수정: 생성된 NotificationService 클래스의 didReceive(_:withContentHandler:) 메서드를 override하여 알림의 내용을 변경할 수 있습니다.

    `import UserNotifications
    
    class NotificationService: UNNotificationServiceExtension {
        override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
            // 변경된 내용을 포함하는 mutable content 생성
            let modifiedContent = request.content.mutableCopy() as! UNMutableNotificationContent
            modifiedContent.title = "새로운 제목"
            modifiedContent.body = "새로운 내용"
    
            // 변경된 내용을 핸들러를 통해 전달
            contentHandler(modifiedContent)
        }
    
        override func serviceExtensionTimeWillExpire() {
            // 여기에 추가적인 처리가 필요한 경우 작성
        }
    }` 
  1. 변경된 내용 적용 확인: 이제 NotificationService 클래스 내에서 변경된 내용을 만들어서 핸들러를 통해 전달합니다. 변경된 내용은 알림의 제목, 내용, 이미지 등을 수정할 수 있습니다. 변경된 내용이 적용되면 사용자가 받게 될 푸시 알림의 내용이 변경됩니다.

  2. Extension 설정: 생성된 NotificationServiceExtension 타겟의 Info.plist 파일을 열고, NSExtension 딕셔너리 안에 NSExtensionMainStoryboard 키를 추가하고 값을 지우거나 UNNotificationContentExtension 클래스를 참조하는 스토리보드의 이름으로 설정합니다.

  3. Extension 배포 준비: 변경된 내용이 적용된 Notification Service Extension을 포함하여 앱을 빌드하고 배포하기 전에 충분한 테스트를 수행해야 합니다.

위의 단계를 따라가면 UNNotificationServiceExtension을 사용하여 푸시 알림의 내용을 변경할 수 있습니다. 알림의 내용을 변경할 때는 사용자 경험을 고려하여 적절한 변경 사항을 적용하는 것이 중요합니다.