https://developer.apple.com/documentation/usernotifications/unmutablenotificationcontent
"The editable content for a notification."
노티피케이션에 대한 편집 가능한 컨텐트입니다.
class UNMutableNotificationContent : UNNotificationContent
로컬 노티피케이션에 대해 페이로드를 구체화하려면 UNMutableNotificationContent
객체를 생성해야 합니다. 구체적으로 알림, 소리 재생, 앱 badge에 값 할당을 구체화하려면 이 객체를 사용하시기 바랍니다. 시스템이 노티피케이션을 어떻게 처리할지에 대한 세부사항도 제공할 수 있습니다. 예를 들어 관련 노티피케이션을 시각적으로 그룹화시키는 것을 위해 커스텀 launch 이미지 및 스레드 아이덴티파이어를 구체화할 수 있습니다.
컨텐트 객체를 생성한 후 UNNotificationRequest
에 할당하고 발생 조건을 추가한 뒤 노티피케이션을 스케줄링해야 합니다. 발생 조건은 시스템이 사용자에게 언제 노티피케이션을 전달할지를 정의합니다. Listing 1은 5초의 지연 후 알림 표시 및 소리 재생을 하는 로컬 노티피케이션의 스케줄링을 보여줍니다. 앱의 Localizable.strings 파일에서 알림의 제목 및 바디를 위한 스트링을 저장하시기 바랍니다.
Listing 1 Creating the content for a local notification
// Configure the notification's payload.
let content = UNMutableNotificationContent()
content.title = NSString.localizedUserNotificationStringForKey("Hello!", arguments: nil)
content.body = NSString.localizedUserNotificationStringForKey("Hello_message_body", arguments: nil)
content.sound = UNNotificationSound.default()
// Deliver the notification in five seconds.
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false)
let request = UNNotificationRequest(identifier: "FiveSecond", content: content, trigger: trigger) // Schedule the notification.
let center = UNUserNotificationCenter.current()
center.add(request) { (error : Error?) in
if let theError = error {
// Handle any errors
}
}
Note
로컬 노티피케이션은 항상 사용자 상호작용 결과를 가져오며, 시스템은 앱에서 권한이 없는 모든 상호작용은 무시합니다. 사용자 상호작용에 대한 권한 요청의 더 많은 정보는 Asking Permission to Use Notifications를 보시기 바랍니다.
Asking Permission to Use Notifications
https://developer.apple.com/documentation/usernotifications/asking_permission_to_use_notifications
https://velog.io/@panther222128/Asking-Permission-to-Use-Notifications
현재 사용자를 위해 노티피케이션에서 표시하고자 하는 스트링을 로컬라이즈하시기 바랍니다. 앱 리소스 파일로부터 스트링을 로드하기 위해 NSLocalizedString
매크로를 사용할 수 있지만 NSString
의 localizedUserNotificationString(forKey:arguments:)
메소드를 사용하는 것이 더 나은 옵션입니다. localizedUserNotificationString(forKey:arguments:)
메소드는 시스템이 노티피케이션을 전달할 때까지 지역화된 스트링의 로딩을 지연시킵니다. 시스템이 노티피케이션을 전달하기 전에 사용자가 언어 설정을 변경하면, 시스템은 시스템이 노티피케이션을 스케줄링했을 때 사용한 언어 대신 사용자의 현재 언어로 알림 텍스트를 업데이트합니다.
액션과 관련이 있는 아이콘입니다.
https://developer.apple.com/documentation/usernotifications/unnotificationactionicon
https://velog.io/@panther222128/UNNotificationActionIcon
노티피케이션의 편집 불가능한 컨텐트입니다.
https://developer.apple.com/documentation/usernotifications/unnotificationcontent
https://velog.io/@panther222128/UNNotificationContent
노티피케이션과 관련이 있는 미디어 파일입니다.
https://developer.apple.com/documentation/usernotifications/unnotificationattachment
https://velog.io/@panther222128/UNNotificationAttachment
노티피케이션의 전달에서 재생되는 소리입니다.
https://developer.apple.com/documentation/usernotifications/unnotificationsound
https://velog.io/@panther222128/UNNotificationSound