스트리밍은 대부분의 브라우저와
Developer 앱에서 사용할 수 있습니다.
-
일기 쓰기 앱의 향상된 제안 콘텐츠
일기 쓰기 앱이 더욱 광범위한 시스템 콘텐츠를 활용하여 일기 쓰기 제안을 표시할 수 있게 되었습니다. 마음 상태 데이터, 성찰 프롬프트, 타사 미디어 콘텐츠 및 움직임 기반 활동에 관한 지원 등 사용 가능한 새로운 콘텐츠 유형에 대해 자세히 알아보세요.
챕터
- 0:00 - Introduction
- 1:56 - Landscape support
- 2:34 - Suggestion updates
- 13:54 - Best practices
리소스
- Forum: App & System Services
- Journaling Suggestions
- Presenting the suggestions picker and processing a selection
관련 비디오
WWDC24
Tech Talks
-
다운로드
안녕하세요, 저는 Rene입니다 Sensing & Connectivity 팀원이죠 iOS 18에서 제공되는 Journaling Suggestions API의 업데이트 내용을 소개하겠습니다 Journaling Suggestions API는 삶을 돌아보는 데 도움을 줍니다 사람들은 오래 전부터 일기를 써 왔습니다 자신을 되돌아보고 글을 남기는 행위가 웰빙과 정신 건강에 도움이 된다는 사실이 입증된 바 있습니다 하지만 어디에서 시작해야 할 지 고민이 되는 경우가 있죠 일기 쓰기 제안은 바로 그럴 때 유용할 수 있습니다 iOS에는 사용자의 삶에서 특별한 순간을 포착하고 일기 쓰기를 시작하기 좋은 시점을 제안하는 기능이 있습니다 그러한 제안은 촬영한 사진 운동 기록 또는 방문한 장소 등 여러 항목으로 구성됩니다 이 API는 단 몇 개월 만에 이미 매우 높은 채택률을 보이고 있습니다 그중 몇 가지를 보여 드립니다 iOS 18에서 이 API는 한층 더 풍부해졌습니다 관련된 내용을 이번 세션에서 설명해 드리고자 합니다 하지만 일기 쓰기 제안을 이제 막 시작했거나 전체 내용만 복습하기를 원한다면 작년 Tech Talk를 참고하세요, 제목은 ‘Journaling Suggestions API 알아보기’입니다
API를 시작하는 데 필요한 모든 사항을 살펴볼 수 있습니다 API가 설계된 방식부터 이 API에서 앱에 제공하는 다양한 유형의 제안 및 애셋을 활용하는 방법과 API 아래에 구축된 개인정보 고려 사항과 사용자 제어 사항까지 살펴볼 수 있습니다 완전한 가로 모드 지원부터 이야기하겠습니다 이런 유형의 경험을 제안해 주신 분들을 위해 말이죠
그런 다음 제안 관련 업데이트에 대해 계속 이야기하며 신규 및 업데이트된 애셋 유형을 다루겠습니다 그 다음에는 모범 사례와 알아둘 사항을 자세히 살펴보며 퍼스트 어답터들이 이 API를 어떻게 활용했는지 다시 살펴보겠습니다 그러면 가로 모드 지원부터 살펴보겠습니다 iOS 17.2에서는 일기 쓰기 제안 선택기가 세로 모드로 고정되지만 iOS 18부터는 앱 방향 설정을 따르게 됩니다 앱에서 가로 모드를 지원하면
인터스티셜 화면 즉, 사용자가 앱에서 공유할 콘텐츠를 검토하는 화면이 더 넓은 공간을 효율적으로 활용하며 애셋을 더 크게 표시해 줍니다 가로 모드를 활용하기 위해 별도의 조치가 필요하지는 않습니다 애플리케이션에서 가로 방향을 지원하는 경우 선택기도 앱 설정을 따라 표시될 것입니다 이제 iOS 18에서 제공하는 제안 관련 업데이트에 대해 알아보겠습니다
일기 쓰기 제안에는 다양한 애셋 유형이 제공되므로 더 멋지고 의미 있는 일기를 작성할 수 있습니다 이 세션에서는 4가지 애셋 유형에 대해 자세히 알아보겠습니다 마음 상태는 작년에 도입된 건강 관련 기능으로 이제 앱에서 이 애셋 유형을 받아 제안에 사용할 수 있습니다 활동적이지만 Apple Watch가 없는 사용자를 위해 움직이기 활동 제안이 이제 새로운 활동 유형을 지원합니다
일반 미디어 제안을 통해 사용자는 타사 애플리케이션에서 듣는 음악과 팟캐스트에 대한 일기를 쓸 수 있습니다 마지막으로 소개할 내용은 성찰해 보기 프롬프트입니다 원래는 일기에만 사용할 수 있는 제안 유형이었지만 이제 여러분도 사용할 수 있습니다
마음 상태 통합부터 시작해 보겠습니다
iOS 17에서는 건강 앱을 통해 마음 상태를 기록하는 방법이 도입되었습니다 다양한 연구에 따르면 감정에 대한 글을 쓰는 경우 특히 풍부한 표현으로 글을 쓰면 정신적, 신체적 건강이 증진되는 효과가 있습니다 속상했던 경험과 감정을 글쓰기를 통해 마주하면 부정적인 영향을 줄일 수 있으며 긍정적인 감정을 음미하면 감정을 고조시킬 수 있습니다 마음 상태는 그러한 이유로 일기 쓰기 제안 경험에 포함되었습니다
마음 상태 샘플은 두 가지 카테고리로 기록할 수 있습니다 순간의 감정은 어떤 순간에 받은 느낌을 표현합니다 그날의 기분은 해당 날짜에 느낀 전반적인 기분을 표현합니다 또한 각 마음 상태 샘플에는 관련 콘텐츠를 제공하는 데 도움이 되는 정보가 제공됩니다
- 감정가는 마음 상태가 얼마나 긍정적이거나 부정적인지에 대한 정보를 제공합니다 - 레이블은 사용자의 마음 상태가 어떤 모습인지 설명할 수 있습니다 예를 들어 사용자가 차분함, 평온함, 만족감 등을 느낀다고 하면 - 최종적으로 연관을 통해 무엇이 그 감정을 유발했는지 설명할 수 있습니다 가족, 업무 또는 운동 등을 예로 들 수 있죠 물론 모든 마음 상태를 일기에 써도 무방합니다 감정가나 유형이나 사용자가 첨부하는 연관과 상관없이 말이죠 마음 상태 기능과 iOS 18에서 제공되는 관련 업데이트에 대해 살펴볼 만한 내용은 더 많습니다 ‘HealthKit의 웰빙 API 살펴보기’ 세션을 참고하여 자세히 알아보세요 앱에서 마음 상태를 기록하는 방법에 대한 샘플도 있습니다 이제 마음 상태와 일기 쓰기 제안이 어떻게 연동되는지 살펴보겠습니다 마음 상태 제안은 단독 제안일 수도 있고 기존 제안에 번들로 통합된 여행이나 활동 또는 집에서 시간 보내기 등일 수 있습니다 iOS 18 이전부터 일기 쓰기 제안을 시작한 사용자라면 마음 상태 콘텐츠를 활성화하기 위한 팁을 제안 시트에서 받을 수 있습니다 신규 사용자의 경우 이 기능을 온보딩 중에 활성화할 수 있습니다 따라서 사용자가 애플리케이션으로 콘텐츠를 전송하려 할 때 일기 쓰기 애플리케이션 개발자에게 이는 그저 새로운 애셋 유형으로 전달됩니다
다른 유형의 애셋과 마찬가지로 마음 상태는 고유한 애셋 유형으로 제공됩니다 JournalingSuggestion.StateOfMind라고 하죠 이 애셋과 함께 제공되는 HKStateOfMind 샘플 표현에는 감정가, 레이블, 연관이 포함될 뿐만 아니라 이미지 URL과 연결된 라이트 및 다크 모드 색상은 물론 타임스탬프도 포함됩니다
마음 상태 애셋 콘텐츠를 추가하려면 우선 JournalingSuggestion.StateOfMind 유형의 모든 콘텐츠를 제안에서 가져와야 합니다
그런 다음 AsyncImage에서 item.icon을 사용하여 애셋을 변환합니다
이 예시에서는 맞춤형 함수를 통해 애셋의 이모티콘 표현도 추가합니다
여기서 getEmotionEmoji 함수는 매우 간단합니다
valence가 양수인지 음수인지 그 사이의 값인지 확인합니다
물론 마음 상태의 모든 속성을 사용할 수도 있습니다 애플리케이션에 따라서 말이죠 이 예시의 결과를 확인해 보겠습니다
이 경우 제안을 선택하면 기록된 그날 기분의 마음 상태 콘텐츠가 제공됩니다 또한 포함된 레이블과 연관 요소 값을 사용하여 감정 표현이 담긴 일기 쓰기 경험을 제공할 수 있습니다 이렇게 마음 상태 제안에 대해 알아보았습니다 계속해서 움직이기 활동 제안과 관련된 개선 사항을 알아보겠습니다 iOS 17.2에서는 움직이기 활동 제안이 도입되었습니다 오래 걷는 사용자를 위한 기능이지만 운동하기로 추적되지는 않습니다 이 제안 유형은 휴대폰에서만 사용되어 걸음 수를 추적합니다 iOS 18에는 달리기 활동과 걷기/달리기 혼합 활동이 도입됩니다 이 제안 유형은 일기 쓰기 제안 설정의 활동 스위치 아래에 계속 제공되며 이전과 마찬가지로 이 제안 유형은 사용자가 촬영한 사진 또는 감상하는 음악과 함께 사용할 수 있습니다
걸음 수 외에도 아이콘 URL과 타임스탬프는 물론 움직임 유형에 대한 추가 필드도 이제 움직이기 활동 애셋에 포함됩니다 이 필드는 애플리케이션에 감지된 활동이 걷기인지 달리기인지, 두 활동의 혼합인지 알려 줍니다 물론 각 움직임 유형은 자체 이미지와 함께 제공됩니다
마음 상태 애셋 콘텐츠를 추가하려면 우선 JournalingSuggestion.MotionActivity 유형의 모든 콘텐츠를 제안에서 가져와야 합니다 그런 다음 AsyncImage에서 애셋을 item.icon을 사용해 변환하면 됩니다
이 예시에서는 움직이기 활동의 텍스트 표현도 사용자화 함수를 통해 추가합니다
getMotionActivityLabel 함수는 매우 간단합니다 움직임 유형을 확인하고 달리기, 걷기 또는 걷기 및 달리기 혼합 활동을 특별 처리합니다 새로운 움직이기 활동 콘텐츠를 활용하는 데 필요한 정보는 이게 전부입니다 이 예시의 결과를 확인해 보겠습니다
이 간단한 예시는 사용자가 선택한 애셋을 보여 주며 새로운 ‘달리기’ 움직이기 활동 움직임 유형이 적용되었습니다 지금까지 움직이기 활동 제안 업데이트에 대해 알아보았습니다 계속해서, 완전히 새로운 제안 유형인 일반 미디어에 대해 알아보겠습니다 iOS 17.2에서는 노래 및 팟캐스트 애셋이 도입되었습니다 Apple Music과 Apple Podcasts에서 사용자가 듣는 음악과 팟캐스트에 중점을 둔 애셋 카테고리입니다
iOS 18에서는 음악 또는 팟캐스트 콘텐츠를 사용자에게 제공하는 다른 미디어 애플리케이션도 지원합니다 예를 들어 여러분의 앱을 쓰는 사용자가 Melody123 앱이나 EnlightningTalks 앱의 팬인 경우 그 사용자가 듣는 콘텐츠를 일기 쓰기 제안에 추가할 수 있습니다 물론 애플리케이션에서 음악과 팟캐스트를 모두 제공하기도 합니다 그러한 이유로 이 제안 유형을 일반 미디어라 하며 해당 미디어를 소비하는 데 사용되는 애플리케이션 아이콘으로 이 유형을 나타냅니다
이 유형은 여전히 미디어 일기 쓰기 제안 설정에서 제어합니다 참고로 미디어 콘텐츠를 제공하는 애플리케이션은 일기 쓰기 제안에 참여하지 않겠다고 선택할 수 있습니다 자세한 내용은 Now Playing API를 참고하세요
새로운 일반 미디어 애셋 유형에 포함되는 항목은 미디어의 제목 아티스트 이름, 앨범 이름 앱 아이콘, 타임스탬프입니다
일반 미디어 애셋 콘텐츠를 추가하려면 JournalingSuggestion.MotionActivity .GenericMedia 유형의 모든 콘텐츠를 가져와야 합니다
그런 다음 AsyncImage에서 애셋을 변환하면 됩니다 이 미디어를 소비하는 데 사용된 앱의 앱 아이콘을 사용해서요
이 예시에서는 사용 가능한 경우 제목, 아티스트 앨범을 표시합니다
유의할 점은 이 필드를 무조건 사용할 수 있는 것은 아니며 지원하는 앱에서 제공하는 항목에 따라 다르다는 것입니다 따라서 사용 전에 해당 필드가 존재하는지 확인해야 합니다 이제 이 예시의 결과를 확인해 봅시다
이제 실행해 보겠습니다 이 경우 일반 미디어 콘텐츠가 포함된 제안을 선택했습니다 Melody123 예시 앱이 아이콘과 함께 표시됩니다 앱에서는 제목, 아티스트 앨범 이름 등, 곡의 재생 정보를 수신했습니다 이렇게 사용자가 좋아하는 앱의 미디어 콘텐츠를 지원할 수 있습니다 이제 이번 릴리즈에 추가된 마지막 기능에 대해 살펴보겠습니다 성찰해 보기 제안입니다
성찰해 보기 제안은 일반 프롬프트로 감사하는 마음, 친절한 태도 목적 등을 되새기는 데 도움이 됩니다 이 프롬프트는 사용자의 관심을 유도하며 대개는 어떤 주제에 대한 틀을 잡고 사용자에게 질문을 건넵니다 감지형 제안은 사용자가 세상과 소통하는 방식에 따라 이루어진다면 성찰해 보기 프롬프트는 보편적이며 시간을 초월하므로 언제든지 되돌아볼 수 있고 몇 번이고 반복해서 되새길 수도 있습니다 이 제안은 기본적으로 활성화되어 있지만 새로운 일기 쓰기 제안 설정에서 성찰해 보기 프롬프트 토글로 제어할 수 있습니다 또한 제안 시트에도 해당 유형의 몇 가지 제안이 추천 탭에 표시되며 사용자가 자신에게 맞는 제안을 고를 수 있도록 각 제안에는 다양한 프롬프트를 교체할 수 있는 버튼이 제공됩니다
사용자가 성찰해 보기 프롬프트를 선택하면 JournalingSuggestion.Reflection 애셋을 애플리케이션에서 수신합니다 이 애셋은 매우 간단히 처리할 수 있으며 사용자가 선택한 프롬프트 문자열만 포함됩니다 이 프롬프트를 제공하는 데 시트에 사용된 색상도 가져올 수 있으므로 이 경험을 애플리케이션에 어울리게 할 수 있습니다
성찰해 보기 프롬프트 애셋 콘텐츠를 추가하려면 suggestion에서 JournalingSuggestion .Reflection 유형의 모든 콘텐츠를 제안에서 가져와야 합니다
그런 다음 각각에 대해 프롬프트 속성을 활용하는 Text 요소를 사용하여 각각을 표시할 수 있습니다
이 예시에서는 제공된 배경 색상을 사용하고 그에 맞는 전경 색상도 getForegroundColor 함수를 사용하여 선택합니다
getForegroundColor의 논리는 매우 간단합니다 배경 색상의 밝기가 평균보다 높은지 평균보다 낮은지를 검사하죠
이제 실행해 보겠습니다
이 예시에서는 제안을 선택하면 어두운 색상의 성찰해 보기 콘텐츠가 제공되며 프롬프트 텍스트는 전경과 대비되는 흰색으로 렌더링됩니다
성찰해 보기 프롬프트 문자열을 사용자의 시작점으로 사용하면 감정이 담긴 일기를 쓰는 데 유용합니다
새로운 성찰해 보기 제안을 처리하는 방법까지 알아봤습니다 이제 애플리케이션에 만반의 준비를 갖추시기 바랍니다 iOS 18이 정식 출시될 때까지 말이죠 계속해서 모범 사례에 대해 알아보겠습니다 API에 추가된 이번 최신 기능을 채택하면 애플리케이션에서 새로운 콘텐츠를 활용하려는 경우 사용자는 이 콘텐츠를 전체 해상도로 애플리케이션에 전송할 수 있습니다 제공되는 모든 필드를 최대한 활용할 수 있고 애플리케이션에 어울리도록 경험을 특화할 수 있습니다 애플리케이션에서 새로운 API를 채택하지 않는 경우 컴플리션 블록에서 반환되는 일부 콘텐츠가 앱에서 무시될 수 있으며 이로 인해 사용자에게 혼란을 줄 수 있는데 업그레이드에 대비해 앱을 조금 더 보완할 수는 있습니다 UIImage, 이미지와 같은 대체 애셋 유형을 지원하는 것이죠 이렇게 하면 앱이 일정 수준은 지원할 수 있게 됩니다 제공되는 모든 필드를 처리하지 않는다 해도 말입니다 또 유의할 점은 사용자가 애플리케이션에 공유할 항목을 제어할 수 있다는 점입니다 - 온보딩 과정에서 제안에 포함할 콘텐츠를 선택할 수 있고 개인정보 보호 설정에서 어떤 제안을 애플리케이션에 전송할지 선택하거나 - 어떤 애셋을 포함할지 말지를 애플리케이션에 전송하기 전에 선택할 수 있습니다 이러한 여부는 사용자가 제어하는 것이지만 애플리케이션 수신 항목에 따라서도 달라집니다 일기 쓰기 제안 업데이트에 대한 소개를 마치겠습니다 사용자 경험 향상을 위해 마음 상태 일반 미디어 움직이기 활동 및 성찰해 보기 프롬프트를 효과적으로 활용해 보세요
애플리케이션에서 가로 모드를 지원한다면 지금 바로 확인해 보세요 애플리케이션을 변경할 필요가 없습니다 그리고 물론 피드백도 공유해 주시고요 이 새로운 버전의 API로 여러분이 만들어낼 경험을 기대하겠습니다
-
-
찾고 계신 콘텐츠가 있나요? 위에 주제를 입력하고 원하는 내용을 바로 검색해 보세요.
쿼리를 제출하는 중에 오류가 발생했습니다. 인터넷 연결을 확인하고 다시 시도해 주세요.