[번역] UNUserNotifications / Customizing the Appearance of Notifications (애플 공식 문서)

Overview iOS 기기가 알림을 수신하면 시스템은 두 단계로 알림의 내용을 표시합니다. 먼저, 제목과 부제목, 그리고 본문 텍스트 두세 줄에서 네 줄 정도가 포함된 축약된 배너(abbreviated banner)를 보여줍니다.사용자가 축약된 배너를 누르면, iOS는 알림과 관련된 액션까지 포함된 전체 알림 인터페이스를 표시합니다. 시스템은 축약된 배너 인터페이스를 제공하지만, Notification Content App Extension을 사용해 전체 인터페이스를 사용자화할 수 있습니다. Notification Content App Extension은 사용자 정의 알림 인터페이스를 표시하는 뷰 컨트롤러를 관리합니다. 이 뷰 컨트롤러는 알림에 대해 기본적으로 제공되는 시스템 인터페이스를 보완하거나 교체할 수 있습니다. 이를 통해 아래와 같은 작업을 할 수 있습니다: ...

October 15, 2025 · 5 min · 855 words · Me

[번역] UNUserNotifications / Modifying Content in Newly Delivered Notifications (애플 공식 문서)

Overview 아래와 같은 경우에는 사용자의 iOS 기기에서 푸시 알림의 콘텐츠를 수정해야 할 수 있습니다: 암호화된 형식으로 전송된 데이터를 복호화해야 할 때 최대 페이로드 크기를 초과하는 이미지나 다른 미디어 첨부 파일을 다운로드해야 할 때 사용자의 기기의 데이터를 반영해 알림의 콘텐츠를 업데이트해야 할 때 푸시 알림을 수정하려면 iOS 앱 번들에 포함되는 Notification Service App Extension이 필요합니다. 이 익스텐션은 시스템이 사용자에게 알림을 표시하기 전에 푸시 알림의 내용을 먼저 받아서, 알림 페이로드를 업데이트할 시간을 제공합니다. 또한 익스텐이 어떤 알림을 처리할지 개발자가 직접 제어할 수 있습니다. ...

October 10, 2025 · 3 min · 504 words · Me

[번역] UNUserNotifications / Pushing Background Updates to Your App (애플 공식 문서)

Overview 앱의 서버 기반 콘텐츠가 드물게 또는 불규칙하게 변경된다면, 새로운 콘텐츠가 사용 가능할 때 앱에 알려주기 위해 백그라운드 알림을 사용할 수 있습니다. 백그라운드 알림은 경고를 표시하거나, 사운드를 재생하거나, 앱 아이콘에 배지를 표시하지 않는 푸시 알림입니다. 이 알림은 앱을 백그라운드에서 깨워주고, 앱이 서버에서 다운로드를 시작하고 콘텐츠를 업데이트할 시간을 제공합니다. Important: 시스템은 백그라운드 알림을 낮은 우선순위로 취급합니다. 따라서 이를 사용해 앱의 콘텐츠를 새로고침할 수 있지만, 시스템이 반드시 전달을 보장하지는 않습니다. 또한 백그라운드 알림의 총 개수가 과도해지면 시스템이 그 전달을 제한할 수 있습니다. 시스템에서 허용하는 백그라운드 알림의 수는 현재 상황에 따라 달라지지만, 한 시간에 두 세개 이상 보내지 않도록 하는 것이 좋습니다. ...

October 5, 2025 · 2 min · 335 words · Me

[번역] UNUserNotifications / Generating a Remote Notification (애플 공식 문서)

Overview 푸시 알림은 JSON 페이로드 형태로 사용자에게 중요한 정보를 전달합니다. 페이로드에서 수행하려는 사용자 상호작용의 종류(알림, 사운드, 배지)가 지정되며, 앱이 알림에 응답하는 데 필요한 모든 커스텀 데이터가 포함됩니다. « figure src=“media-2953613.png” align=“center” » 푸시 알림 페이로드에는 Apple이 정의한 키와 그에 해당하는 커스텀 값이 포함됩니다. 또한 알림에 맞게 직접 정의한 커스텀 키와 값을 추가할 수도 있습니다. Apple 푸시 알림 서버(APNs)는 페이로드의 전체 크기가 다음 제한을 초과하면 알림을 거부합니다. VolP(인터넷 전화) 알림의 경우, 최대 페이로드의 크기는 5KB (5120바이트)입니다. ...

September 30, 2025 · 8 min · 1530 words · Me

[번역] UNUserNotifications / Registering Your App With APNs (애플 공식 문서)

Overview Apple 푸시 알림 서비스 (APNs)가 특정 사용자의 기기로 알림을 전송하려면, 먼저 그 기기의 주소를 알아야 합니다. 이 주소는 기기와 앱 모두에 고유한 디바이스 토큰(device token)의 형태로 제공됩니다. 앱이 실행될 때, 앱은 APNs와 통신하여 디바이스 토큰을 받고, 이 토큰을 여러분의 제공자 서버(provider server)로 전달합니다. 이후 서버는 알림을 전송할 때 토큰을 함께 포함시켜야 합니다. Note: 같은 기기라 하더라도 여러 앱이 하나의 디바이스 토큰을 함께 사용할 수는 없습니다. 각 앱은 반드시 자신만의 고유한 디바이스 토큰을 요청해 받아야 하며, 그 토큰을 제공자 서버로 전달해야 합니다. ...

September 25, 2025 · 3 min · 542 words · Me

[번역] UNUserNotifications / Handling Notifications and Notification Related Actions (애플 공식 문서)

Overview 알림은 주로 사용자에게 정보를 보여주기 위한 수단이지만, 앱이 알림에 응답할 수도 있습니다. 예를 들어, 다음과 같은 상황에 응답할 수 있습니다: 사용자가 알림 인터페이스에서 선택한 동작 앱이 포그라운드에서 실행 중일때 도착한 알림 무음(Slient) 알림 (Pushing background updates to your App을 참고) PushKit 프레임워크와 관련된 알림 (예를 들어, VolP나 WatchOS의 컴플리케이션(complication) 관련 알림) Handle user-selected actions 동작 가능한 알림은 사용자가 알림 인터페이스에서 직접 응답할 수 있게 해줍니다. 알림의 콘텐츠 외에도, 동작 가능한 알림은 사용자가 선택할 수 있는 하나 이상의 버튼을 표시합니다. 사용자가 버튼 중 하나를 탭하면 앱이 포그라운드로 전환되지 않고, 선택된 동작이 앱으로 전달됩니다. 앱이 동작 가능한 알림 타입을 지원한다면, 반드시 그에 연결된 동작을 처리해야 합니다. ...

September 20, 2025 · 3 min · 581 words · Me

[번역] UNUserNotifications / Declaring your actionable notification types (애플 공식 문서)

Overview 동작 가능한 알림(actionable notification)은 사용자가 해당 앱을 실행하지 않고도 전달된 알림에 응답할 수 있게 합니다. 일반 알림은 알림 인터페이스에 정보를 표시하고, 이 경우 사용자가 취할 수 있는 유일한 동작은 앱을 실행하는 것이 됩니다. 동작 가능한 알림의 경우, 시스템은 알림 인터페이스 외에도 하나 이상의 버튼을 표시합니다. 버튼을 누르면 선택된 동작이 앱으로 전달되고, 앱은 이를 백그라운드에서 처리합니다. Note: Apple Watch Series 9 또는 Apple Watch Ultra 2에서 알림을 보고 있는 동안 이중 탭(Double Tap) 제스처를 수행하면, 시스템은 첫 번째 비파괴(Non-Desctructive) 동작을 실행합니다. 비파괴 동작이란 destructive 옵션을 포함하지 않으며, 사용자가 데이터를 삭제하거나, 다시 되돌리기가 어렵지 않은 동작을 의미합니다. ...

September 15, 2025 · 5 min · 879 words · Me

[번역] UNUserNotifications / Asking permission to use notifications (애플 공식 문서)

Overview 로컬 및 원격 알림은 경고을 표시하거나, 사운드를 재생하거나, 앱 아이콘에 배지를 표시하여 사용자의 주의를 끌 수 있습니다. 이러한 상호작용은 앱이 실행 중이 아니거나 백그라운드에 있을 때 발생합니다. 이를 통해 사용자는 앱에 자신과 관련된 정보가 있다는 것을 알 수 있습니다. 그러나 알림 기반 상호작용은 사용자에게 방해 요소로 여겨질 수 있으므로, 이를 사용하려면 반드시 권한을 얻어야 합니다. Explicitly request autorization in context 권한을 요청하려면, UNUserNotificationCenter 공유 인스턴스를 가져와 requestAuthorization(options:completionHandler:) 메서드를 호출하세요. 앱이 사용하는 모든 상호작용 유형을 지정해야 합니다. 예를 들어, 알림을 표시하거나, 앱 아이콘에 배지를 추가하거나, 사운드를 재생할 수 있도록 권한을 요청할 수 있습니다: ...

September 10, 2025 · 4 min · 693 words · Me