스트리밍은 대부분의 브라우저와
Developer 앱에서 사용할 수 있습니다.
-
시스템 경험을 위한 앱 인텐트 디자인하기
앱 인텐트는 제어기, Spotlight, Siri 등이 제공하는 시스템 경험의 바탕이 됩니다. 앱 인텐트에 가장 적합한 기능을 파악하는 방법과 매개변수를 사용하여 이러한 인텐트에 유연성을 더하는 방법을 알아보세요. 앱 인텐트를 사용하여 사용자가 앱 외부에서 작업할 수 있게 하는 방법을 알아보고, 맥락에 맞는 정보를 표시하기 위해 사용자를 앱 내부로 안내하는 것이 필요한 시점을 예시를 통해 살펴보세요.
챕터
- 0:00 - Intro
- 1:50 - Which App Intents to make
- 3:53 - Structuring App Intents
리소스
- Accelerating app interactions with App Intents
- App Intents
- Creating your first app intent
- Forum: Design
- Integrating your app with Siri and Apple Intelligence
- Making actions and content discoverable and widely available
관련 비디오
WWDC24
-
다운로드
안녕하세요, Apple Design 팀의 디자이너인 Ray입니다 오늘은 멋진 앱 인텐트를 디자인하는 방법을 살펴보겠습니다
Spotlight에서 5분 타이머를 설정하는 것부터
단축어를 실행해 새로운 Freeform 보드를 만드는 것까지 가능합니다
앱 인텐트는 앱 기능을 앱 외부의 시스템에 표시해 줍니다 앱 인텐트는 앱을 Spotlight뿐만 아니라 시스템 경험에 열어 줍니다 예를 들면 동작 버튼 스퀴즈 위젯 제어기 Siri 등입니다
앱 인텐트는 단축어 앱에 작업으로도 표시되며 사람들은 여기서 탐색, 리믹스하고 이를 추가하여 맞춤형 단축어를 생성합니다
현재 많은 앱에서 제공하는 수백 개의 앱 인텐트가 있으며 여기서는 몇 가지 예를 통해 해당 앱 외부의 시스템에서 새로운 경험을 구현한 경우를 살펴보죠
이러한 앱 인텐트로 Apple 생태계 전반에서 그 어느 때보다 풍부한 경험을 선사할 수 있습니다 앱 인텐트란 어떤 것일까요? 단축어에서 Finder 앱 인텐트를 살펴보겠습니다
앱 인텐트는 기능에 대한 요약으로 구성되는데, 이는 앱으로 시작하고 동사가 뒤따릅니다 또한 매개변수를 포함하는데 해당 인텐트가 실행되기 전에 사람들이 이를 작성해야 합니다
앱 인텐트는 새로운 방식으로 다른 인텐트와 결합돼 단축어를 만들고 단독으로 수행할 수 없는 강력한 새로운 흐름을 만들 수 있습니다 이에 Apple은 이러한 모든 경험에 걸쳐 잘 작동하도록 앱 인텐트를 디자인하는 방법에 대한 지침을 업데이트했습니다 앱에서 표시해야 하는 기능부터 살펴본 다음 앱 인텐트를 구성하는 방법을 자세히 알아보겠습니다
어떤 앱 인텐트를 만들어야 하는지부터 살펴보죠 이전에는 앱 인텐트가 앱 외부에서 유용할 수 있는, 앱의 가장 일반적인 작업이어야 했습니다 따라서 앱에 앱 인텐트가 단 몇 개만 포함되어야 했습니다 iOS 18에서는 이 지침을 변경하여 일반적인 기능 이상을 포괄합니다 이제 앱이 수행하는 모든 작업이 앱 인텐트가 됩니다 처음으로 앱 인텐트를 생성하는 경우 앱에서 가장 일반적인 기능을 여전히 우선시할 수 있습니다 하지만 풍부하고 유연한 앱 인텐트 세트와 불안정하고 명확하지 않은 앱 인텐트 간에 균형을 유지해야 한다는 데 유의해야 합니다 시작하기 위해 인텐트의 몇 가지 개별 유형이 나와 있습니다 단축어 앱에서 확인할 수 있습니다 이러한 동사로 시작하는 인텐트는 기본 유형의 인텐트입니다 시작할 때 이를 사용해 앱에서 어떤 유형의 기능을 앱 인텐트에 표시할지 결정해야 합니다
다음으로, 동일한 작업에 서로 다른 여러 인텐트를 만들지 마세요 예를 들어 서로 다른 미리 알림을 여는 여러 개의 앱 인텐트를 생성하려는 경우 동일한 기능의 각 유형별로 하나씩 만들지 마세요
그 대신에 앱의 기능을 하나의 유연한 인텐트로 구성하여 해당 매개변수에 미리 알림들을 포함합니다
유의해야 할 또 다른 사항은 특정 UI 요소에 대한 앱 인텐트를 생성하지 않는 것입니다 앱 인텐트가 특정 UI 요소를 배타적으로 트리거하면 안 됩니다 취소 버튼 탭하기, 플래터를 아래로 스와이프하기 등입니다 이는 기대되는 사항이 아닙니다 해당 인텐트의 작업을 숨겨서 결과적으로 예상치 못한 동작이 발생하기 때문입니다
그 대신에 이 UI 요소로 접근하는 일반적인 기본 작업을 나타내는 앱 인텐트를 만듭니다 초안 저장, 초안 삭제 등입니다 또한 앱이 실시간 현황, 오디오 재생 또는 녹음을 지원하는 경우 백그라운드에서 이를 수행할 수 있게 하는 앱 인텐트를 읽습니다 이는 앱 작업에서 추가로 요구하지 않는 간단한 인텐트에 유용합니다 이제 앱 인텐트를 구성하는 방법을 살펴보겠습니다 매개변수 유형부터 알아보죠 앞서 살펴봤듯이, 앱 인텐트에는 매개변수 요약이 포함되며 여기에는 인텐트가 작업 실행에 사용하는 입력이 포함됩니다 예를 들어, 이 카메라 인텐트는 카메라를 특정 모드로 엽니다
매개변수는 이러한 카메라 모드 중 하나로 변경될 수 있으므로 요약을 항상 한 문장으로 읽을 수 있게 만들어야 합니다 어떤 모드를 선택하든 관계없이 말입니다
매개변수 요약은 필수적입니다 그래야 사람들이 단축어 저장소를 탐색할 때 해당 앱 인텐트의 기능을 이해할 수 있습니다 매개변수를 구성할 때 가독성도 유지해야 합니다 인텐트에 숫자 선택이나 텍스트 입력 같은 입력이 필요한 경우 기본 제공되는 매개변수 라이브러리에서 선택합니다 이는 미리 알림에 날짜 추가하기 등 간단한 작업에 가장 적합합니다
매개변수에 옵션을 포함해야 하는 경우 이 내용은 기본 사항에서 다루지 않습니다 예를 들면 앱의 여러 탭 중 하나 열기 등입니다 정적 매개변수를 사용하여 해당 탭 옵션을 포함하세요 이제 탭 매개변수에 이러한 탭 각각이 포함됩니다 시간 경과에 따라 옵션이 변경되는 매개변수가 있다면, 예를 들어 누군가가 앱에 더 많은 메모 폴더 추가 시 이를 포함하기 등입니다 이때는 앱 엔티티를 동적 매개변수로 생성하여 시간 경과에 따라 새로운 옵션으로 업데이트되게 합니다 매개변수가 선택 사항인 경우 사전에 후속 질문을 지정하지 않으면 인텐트가 후속 질문을 하지 않습니다 이 동작이 선호됩니다 예를 들어, 이 메모 앱 인텐트를 살펴보겠습니다 선택하는 메모에 폴더가 표시됩니다
이 인텐트를 실행했지만 열릴 폴더를 설정하지 않은 경우 해당 폴더의 보기로 메모가 열려 전체 폴더 선택 경험을 제공합니다 인텐트를 실행할 때마다 어떤 폴더를 열지 물어보지 않고 말입니다 선택적 매개변수는 유용합니다 앱 인텐트가 즉시 조치를 취할 수 있도록 해 주기 때문입니다 누군가가 매개변수를 구성하지 않은 경우에도 마찬가지입니다 하지만 이 앱 인텐트가 전혀 유용하지 않다고 생각한다면 매번 매개변수를 요청하지 않는 한 이를 ’필수’로 설정 가능합니다
예를 들어 메일 검색 인텐트는 텍스트 입력이 필요합니다 이 경우, 텍스트 매개변수는 필수입니다
즉 누군가가 앱 인텐트를 실행할 때마다 여러분이 작성하는 후속 질문이 표시됩니다 이러한 질문은 여기에 나와 있듯이 간결하고 명확하게 작성하세요
이제 상태가 두 가지뿐인 상태를 변경하는 인텐트를 구성하는 방법을 살펴보겠습니다 예를 들어, 손전등에는 손전등 설정이라는 앱 인텐트가 있습니다 손전등을 켜거나 끄는 인텐트입니다 이 인텐트는 이 두 가지 상태 간에만 변경되므로 인텐트가 토글도 기본 매개변수로 지원해야 합니다
토글을 기본 매개변수로 지원하지 않을 경우 누군가가 인텐트를 실행할 때마다 손전등 켜기와 끄기 중에서 선택해야 합니다
그 대신에, 토글을 기본값으로 제공하면 인텐트가 물어볼 필요 없이 손전등을 켜거나 끌 수 있습니다
다음으로, 인텐트의 일부로 앱을 열어야 할 때를 살펴보겠습니다 이전에는 앱 인텐트가 필요할 때만 앱을 포그라운드에 열었습니다
iOS 18에서는 이제 앱 열기가 일반적인 동작이며 사람들에게 해당 인텐트가 앱을 변경했음을 보여 줍니다 앱 인텐트의 일부로 열기를 반환하면 사람들에게 변경 사항을 확인할 수 있는 옵션을 제공합니다 앱 인텐트 사용의 일부로 앱이 열리는 방식은 두 가지입니다 첫째, 앱 인텐트가 근본적으로 특정 보기로 열리게 작동합니다 예를 들어, 이 시계 앱 인텐트는 스톱워치를 엽니다
인텐트가 실행되면 시계 앱을 스톱워치로 엽니다 이 경우, 해당 앱 인텐트가 열기 인텐트를 따르게 해야 합니다 근본적으로 앱을 열도록 작동하기 때문입니다
둘째는 앱 인텐트가 앱 UI 변경과 함께 완료되거나 검색 결과를 표시하는 경우입니다 예를 들어, Freeform 보드 생성 인텐트를 사용하는 경우 해당 앱을 열어 새로운 보드가 생성되었음을 보여 주는 것으로 실행이 완료되어야 합니다
추가 앱 내 애니메이션 없이 앱의 새로운 보드로 직접 앱을 열면 새로운 Freeform 보드에서 빠르게 시작할 수 있습니다 이 동작은 인텐트에 토글 실행 시 열기로 나타나며 이 토글의 기본값은 켜짐입니다 이 경우 사람들에게 이 동작을 끌 수 있는 선택권이 제공됩니다 여러 작업을 수행하는 단축어의 일부로 인텐트를 사용하려는 경우 여러 인텐트가 해당 흐름에서 각 앱을 열지 않고 실행되도록 하려면 이렇게 선택할 수 있습니다
지금까지 멋진 앱 인텐트 만들기에 대한 최신 지침을 알아봤습니다 요약해 보면 앱이 할 수 있는 작업이 포함된 강력한 앱 인텐트를 디자인합니다 다양한 구성과 사용 사례에 걸쳐 유연하고 가독성이 높도록 인텐트를 구성합니다
마지막으로, 바이너리 매개변수를 토글하거나 적절할 때 앱을 여는 옵션을 제공합니다
앱 인텐트에 대한 자세한 내용은 여기 나와 있는 세션을 참고하세요
감사합니다 여러분의 앱 인텐트가 정말 기대됩니다
-
-
찾고 계신 콘텐츠가 있나요? 위에 주제를 입력하고 원하는 내용을 바로 검색해 보세요.
쿼리를 제출하는 중에 오류가 발생했습니다. 인터넷 연결을 확인하고 다시 시도해 주세요.