스트리밍은 대부분의 브라우저와
Developer 앱에서 사용할 수 있습니다.
-
우수한 SharePlay 경험 만들기
우수한 SharePlay 경험을 디자인 및 빌드하는 방법을 확인하세요. 서로 떨어져 있는 동안에도 앱에서 모두 함께 모여 즐길 수 있는 활동을 확인하는 방법을 보여드립니다. 그룹 활동 디자인, 직관적인 상호 작용 만들기, 서로 다른 유형의 경험에 대한 지원을 구축하는 데 도움이 되는 모범 사례를 알아보세요.
리소스
관련 비디오
WWDC22
WWDC21
-
다운로드
♪ 한 통의 전화가 모든 것을 바꿀 수 있습니다 좋아요 이번 데모에 필요한 걸 다 준비하셨나요? 제가 전화를 끊으면 혼자 하셔야 해요 걱정 마요 식은 죽 먹기라니까요 식은 죽 먹기여야 했습니다 파트너가 잠시 휴식을 즐기는 동안 발표의 시작을 장식할 멋진 SharePlay 경험을 고르기로 했죠 용의자 명단을 추렸지만 고를 수 없었어요 이 스위치 케이스 문에서 벗어나려고 온 팀원들에게 전화를 걸었죠 가장 먼저 애덤과 헬스장에서 테스트해 봤습니다 신나네요 우리는 라인에 파묻혀 지내잖아요 버피 함수를 호출하고 코드를 리팩토링하죠 버트 킥 실행 버튼을 누르고 뭘 만드는지 확인하고요 휴식 애덤은 제게 영감과 땀을 남겼지만 아직 살펴볼 것이 조금 더 남았습니다 아그네스, 가브와 쇼핑을 함께했죠 저도 장난감 마켓 구경은 좋아하지만 입찰하고 싶은 마음은 아직 안 들더군요 어쩌면 저스틴과 피아노를 치는 게 제게 필요한 서브루틴일지도 모르죠 머릿속이 조금씩 정리되기 시작했습니다 그러려면 마지막으로 스파이 게임을 마쳐야 했죠 - 드디어 왔네요 - 우리는... - 어쩌면... - 아마도 생각이 과했나 봐요 엄마는 포기가 빠른 사람을 좋아하지 않으셨어요 가 봅시다 게임을 하는 동안 깊은 곳에서 시냅스가 번뜩였습니다 결국에는 간단한 사건이었죠 훌륭한 앱 하나를 찾아 헤맸지만 모두에게서 중요한 걸 배운 겁니다 평소 저희 데모와 다르지만 가끔은 가상 현실도 양해해 주시죠 이제 괜찮으시다면 다음 사건으로 넘어가겠습니다 훌륭한 경험들이 발견되길 기다리고 있으니까요
안녕하세요, 저는 Ryan입니다 SharePlay 엔지니어죠 저희 팀은 즐거운 기분으로 여러분이 만든 SharePlay 경험을 탐험했습니다 여러분의 작업은 사람들을 전례 없이 하나로 모았습니다 그리고 지난 1년간 사용자들에게 최고의 SharePlay 경험을 제공하는 방법도 많이 배웠죠 오늘은 여러분의 앱에 멋진 SharePlay 경험을 디자인하고 만드는 법을 안내해 드리겠습니다 SharePlay로 사용자들과 새롭게 연결되는 방법을 보고 존재감을 키우는 방법을 알아보겠습니다 사람들 사이에서 디지털 장벽을 허물고 같은 공간에 있는 것처럼 느끼는 거죠 앱에 디자인할 수 있는 SharePlay 경험을 다양하게 살펴보고 마지막으로 앱을 이용하는 사용자에게 매끄러운 경험을 선사할 수 있도록 저희가 그동안 배운 팁과 요령을 알려 드리겠습니다 FaceTime과 iMessage로 서로 연결되는 사람들이 그 어느 때보다도 많아지고 있습니다 iMessage는 문자나 사진을 공유하며 연결됩니다 FaceTime은 음성과 영상을 공유하며 연결되죠
그러나 사람들이 함께하는 가장 뜻깊은 시간은 대화로만 이뤄지지 않습니다 우리는 함께 경험을 나누며 가장 깊이 연결됩니다 그런 친밀감을 강화하기 위해 SharePlay를 만들었습니다 Group Activities 프레임워크를 채택함으로써 완전히 새로운 방식으로 사람들과 연결될 수 있습니다 여러분의 앱에서 SharePlay 활동에 참여하도록 허용해 주세요 모든 것은 활동이라는 개념으로 요약됩니다 FaceTime에 있는 사람이 활동을 시작하면 SharePlay가 직접 그룹을 앱으로 가져옵니다 그곳에서 거의 모든 유형의 경험을 만들 수 있죠 그리고 무엇이든 활동이 될 수 있습니다 함께 요리하고 함께 피아노를 치죠 저희는 여러분이 만든 수많은 창의적인 사례를 이미 목격했습니다 그리고 올해 저희의 초점은 사용자가 더욱 쉽게 경험을 공유할 수 있도록 SharePlay의 핵심 경험을 개선하는 것입니다 이제 앱에서 SharePlay를 직접 시작할 수 있습니다 사용자가 여러분의 앱에서 친구들과 공유하고 싶은 완벽한 콘텐츠를 찾으면 함께 콘텐츠를 경험할 사람을 선택하고 앱에서 SharePlay로 직접 초대할 수 있죠 이 방법으로 사용자는 가장 자연스러운 순간에 친구들과 함께하는 경험으로 뛰어들 수 있습니다 미리 계획을 세울 필요가 없죠 메시지에서 SharePlay를 시작하는 옵션이 주어지므로 친구들과 FaceTime 통화를 하지 않아도 경험을 공유할 수 있습니다 앱에서 SharePlay를 시작하는 새로운 방법을 다들 좋아하시리라 믿습니다 이런 새로운 기능을 도입하는 방법은 'SharePlay 새 소식' 세션에서 살펴볼 것입니다 이것은 SharePlay의 기능 중 빙산의 일각에 불과합니다 SharePlay의 진정한 잠재력은 여러분이 창의적으로 서로 친해지는 방법을 만들 때 발휘될 것입니다 여기에서 중요한 것이 존재감 키우기입니다 이러한 경험을 만드는 법을 알아보기에 앞서 우선 다른 사람과 함께한다는 것이 어떤 의미이며 직접 만나는 경험의 장점을 어떻게 앱으로 가져와야 하는지 이해해야 합니다 일반적으로 디지털 소통 도구는 서로의 거리를 메우기 위해 개발됐습니다 그러나 SharePlay가 사람들 사이에서 뜻깊은 순간을 만들려면 사용자가 같은 물리적 공간에 함께 있는 것처럼 존재감을 느낄 방법을 찾아야 합니다 존재감을 키우는 방법은 수많은 경험마다 모두 달라집니다 여기서 쓸 만한 트릭은 여러분의 앱이 실제 세상에서 쓰이는 법을 떠올리는 겁니다 저희는 여기서 이런 훈련 방법을 추천합니다 SharePlay가 휴대 전화를 통해 사용자를 같은 공간으로 전송하는 포털이라고 생각해 보는 거죠 실제로 함께 있다면 앱으로 무엇을 할까요? 불가능하게 들리더라도 걱정하지 마세요 여러분의 앱에서 존재감을 키울 수 있는 몇 가지 방법을 소개해 드리겠습니다 이 훈련을 함께해 보시죠 실제 레코드플레이어가 있는 방에 전송됐다고 상상해 보세요 누구나 다가가서 만져 볼 수 있습니다 좋아하는 노래를 틀 수 있죠 재생을 시작하면 방에 있는 모든 사람이 레코드 플레이어로 가서 조작할 수 있고요 노래를 빠르게 감거나 곡 전체를 넘길 수 있습니다 이를 통해 앱에서 공유하는 재생 제어 장치가 필요하다는 걸 알았죠 여기서 중요한 건 제어할 수 있는 사람에 제한을 두어선 안 된다는 겁니다 우리가 만들고 싶은 건 누구나 같은 음악 플레이어로 다가와서 제어할 수 있다고 느끼는 경험입니다 이제 누군가가 음악을 틀기 시작했습니다 다음으로 할 일은 주위를 둘러보며 누가 같이 듣는지 살펴보는 것입니다 뻔한 소리일지 모르지만 그 사람은 누군가를 위해서 가장 좋아하는 노래를 틀거나 함께 듣고 있는 친구가 떠오르길 바랐을 겁니다 사람들이 전화를 통해서 이런 경험을 할 때는 그곳에 다른 사람도 함께 경험하고 있다는 것을 알릴 방법이 필요합니다
이 훈련은 거의 모든 유형의 경험에서 존재감을 키울 수 있는 디자인적 사항을 고민해 보기 좋은 출발점입니다 이제 Priya에게 발표를 넘겨서 경험을 디자인할 때 주의 사항을 말씀드리겠습니다 고마워요, Ryan 그룹을 위한 경험을 디자인할 때 가장 먼저 생각해야 할 것은 앱이 어떤 공유 활동을 지원하느냐는 점입니다 처음엔 어려울 수도 있습니다 대다수 앱이 혼자 사용할 것을 염두에 두고 개발됐기 때문이죠 앱은 개인 사용자에게 멋진 경험을 주도록 개인화되었습니다 그러나 잘 개인화된 경험이 언제나 훌륭한 그룹 경험으로 이어지는 것은 아닙니다 여러분의 앱을 다른 관점으로 바라볼 좋은 기회입니다 그룹을 타깃으로 디자인된 경험을 떠올려 보세요 활동을 디자인할 때는 사람들이 함께 있을 때 하고 싶은 일을 생각해 보세요 친구들과 함께 요리하고 요가 흐름에 맞춰 호흡하며 결승전에서 좋아하는 팀을 응원합니다 '세브란스'를 보며 감탄하거나요 모두 SharePlay의 좋은 후보입니다 모두 사람들이 함께하길 좋아하는 활동이니까요 직접 만나서요 SharePlay는 그룹을 위해 잘 조율된 경험을 만들 수 있는 기능을 제공합니다 누구나 제어할 수 있고 동시에 같은 것을 경험하며 멀리 떨어져 있을 때도 존재감을 키울 수 있죠 예를 들어 Apple TV+에서 SharePlay를 이용하면 동영상에서 재생 버튼을 눌러서 모두 함께 시청할 수 있습니다 서로 재생 시간이 동기화되고 일시 정지, 재생, 탐색 명령이 함께 적용됩니다 Ryan이 일시 정지를 누르고 애덤이 재생을 누르면 모든 사람의 영상이 동시에 멈추고 재생되죠 Apple TV+는 단일 시점의 조율된 경험을 보여주는 좋은 예시입니다 모든 사람이 같은 것을 보고 들을 수 있죠 이처럼 여러분의 앱에 조율된 미디어 경험을 만들려면 AVPlaybackCoordinator과 coordinateWithSession 메소드를 채택하여 공유 재생 제어를 추가할 수 있습니다 같은 방에서 같은 리모컨을 쓰는 것처럼 시스템이 모든 사람을 완벽히 동기화합니다 그러나 때로는 참가자들이 같은 활동에서 다른 것을 경험하기도 합니다 일부 참가자는 똑같이 조율된 경험을 다른 시점으로 보죠 예를 들어 게임 'Heads Up!'에서 한 사람은 화면에 뜬 단어를 추측하고 친구들은 소리와 몸짓으로 단서를 표현합니다 추측하는 사람이 답을 볼 수 있다면 맥 빠지는 게임이 될 겁니다 따라서 이 게임은 두 가지 시점으로 나뉩니다 모든 참가자가 같은 시점으로 보지 않죠 다중 시점의 조율된 경험을 만들고 싶다면 GroupSessionMessenger 클래스에서 send 메소드를 사용함으로써 참가자 중 메시지를 받을 하위 집합을 지정할 수 있습니다 여러분이 디자인하려는 활동과 그에 필요한 시점을 결정하고 나면 여러분의 앱으로 상호 작용하는 사람들을 위해서 멋진 경험을 만들어야 합니다 앱의 SharePlay 경험을 직관적이고 사용하기 쉽게 만드는 몇 가지 요소를 알아보겠습니다 훌륭한 SharePlay 경험을 만들려면 공유 활동을 단계별로 고려하는 것이 매우 중요합니다 시작, 중간, 마무리죠 저희는 FaceTime 통화 없이 SharePlay 세션을 시작하는 기능을 추가했습니다 사람들이 친구와 공유하고 싶은 콘텐츠나 활동을 발견하면 여러분의 앱에서 직접 SharePlay를 시작할 수 있습니다 여러분이 앱에 만든 경험으로 모든 사람들을 직접 데려갈 수 있죠 사용자가 앱을 탐색하다가 친구와 공유하고 싶은 것을 찾으면 공유 버튼을 눌러서 공유 시트를 띄울 수 있습니다 SharePlay 기능을 이 화면에 띄우려면 registerGroupActivity(_:) 메소드를 이용해서 앱의 그룹 활동을 등록하세요 앱의 공유 시트에서 SharePlay 활동 옵션을 직접 볼 수 있습니다 여러분의 앱에서 그룹 활동이 더욱 눈에 잘 띄게 하려면 앱의 UI에 SharePlay 버튼을 직접 넣어서 기능을 지원할 수 있습니다 GroupActivitySharing Contoller를 이용하세요 사용자가 SharePlay 세션을 시작하고 친구들과 하고 싶은 SharePlay를 선택하며 메시지와 FaceTime 중 무엇을 사용할지 고를 수 있죠 애덤과 Ryan에게 SharePlay로 음악을 공유해 보겠습니다 시스템이 그룹 활동에 대해 정보를 표시해 줍니다 그중에는 제목 및 선택 가능한 자막과 이미지 등이 포함되죠 Ryan과 애덤이 SharePlay에 참여할 때 어떤 활동인지 예상할 수 있도록 정보를 보여 줘야 합니다 따라서 그룹 활동에 대한 메타데이터 속성에 의미 있는 정보를 담고 GroupActivityMetadata 인스턴스로 반환하세요 여러분의 앱을 설치하지 않은 참가자를 위해서 웹 기반 URL을 첨부하는 것도 고려해야 합니다 그래야만 쉽고 빠르게 앱을 다운로드하고 친구들과 함께 활동할 수 있죠 여기서 중요한 건 그룹 메시지나 FaceTime 중이라고 해서 꼭 그 사람이 그룹 활동에 참가한 것은 아니라는 점입니다 SharePlay 세션에 누가 참여했는지 알아보고 싶다면 세부 사항 시점을 살펴보십시오 Ryan은 함께 듣고 있지만 FaceTime 통화 중인 애덤은 아직 SharePlay 활동에 참여하지 않았습니다 가능하다면 앱의 UI에 비슷한 정보를 표시하는 것도 좋습니다 모두 함께하고 있는지 알 수 있는 훌륭한 방법이죠 그룹과 함께 존재감을 유지하는 데에도 유용합니다 모두 같은 방에 들어왔다면 주위를 둘러보는 것으로 몇 명이나 함께하고 있는지 알 수 있습니다 하지만 언제 어디서나 몇몇 친구들은 파티에 늦곤 하죠 따라서 앱의 경험에 따라 활동을 시작하기에 앞서 원하는 사용자가 들어올 때까지 기다리는 대기실을 만드는 것도 좋습니다 'Heads Up!'의 경우 모든 참가자가 SharePlay 세션에 들어오면 시작 버튼을 눌러서 게임을 시작할 수 있죠 지금까지 SharePlay 활동에 참여하고 원활하게 시작하는 법을 살펴봤습니다 이제 활동 속에서 직관적인 경험을 만들어 보죠 활동이 시작되면 그 활동의 일부로써 모든 사람이 동시에 앱과 상호 작용합니다 그동안 우리와 기계의 관계는 무언가를 손으로 만지면 변화가 일어나는 방식이었습니다 하지만 여러 기계 사이에서 공유하는 경험을 만들면 내 화면이 다른 사람의 상호 작용으로 변화하는 일도 가능합니다 따라서 SharePlay 중에 변화가 일어나면 모두에게 그 이유를 알려 줘야 합니다 예를 들어 그룹이 영화를 보고 있는데 Ryan이 자기 장치로 영상을 멈췄습니다 Ryan이 영상을 멈춘 순간 다른 사람은 장치를 만지지 않았더라도 모두 함께 영상이 멈춥니다 이미 시스템에서 이러한 변경 사항을 알림과 함께 그룹에 전달합니다 그러나 일부 활동에서는 활동 중인 사람들에게 앱 내부의 맥락 정보로 소식을 전하는 것이 더 편리합니다 예를 들면 몰스킨의 'Flow' 앱을 SharePlay로 사용하면 여러 사람이 같은 페이지를 꾸밀 수 있습니다 누군가가 그림을 그리면 그린 사람의 이니셜을 앱에서 표시해 주므로 전체 그룹의 경험이 더욱 직관적으로 변하죠 나머지 그룹과 함께 존재감을 강화하는 데에도 유용합니다 이것은 SharePlay를 메시지로 참여할 때 더욱 중요합니다 친구에게 영상이나 음성으로 피드백을 받을 수 없으니까요 이제 친구들과 SharePlay 활동을 시작했고 모두 참가했는지 확인했습니다 다음은 활동 그 자체에 집중할 차례입니다 전체 화면 보기와 상단바를 숨기면 완전한 몰입이 가능합니다 예를 들어 Apple TV 앱은 영상을 볼 때 상단바 및 기타 인터페이스 요소를 숨깁니다 그러나 사람들이 상단바 아이콘으로 중요한 기능을 제어한다는 점을 명심하세요 따라서 활동을 진행하는 중에도 사용자가 간단하고 찾기 쉬운 제스처로 상단바에 접근할 수 있어야 합니다 Apple TV 앱에서는 탭 한 번으로 상단바를 띄우고 중요한 경험 제어 메뉴를 UI에 표시합니다 그리고 또 명심해야 할 것은 앱 인터페이스에서의 활동은 전체 경험의 일부에 불과하다는 점입니다 여러분이 만든 SharePlay 경험에서 앱 사용자들이 나머지 그룹과 어떤 관계를 맺을지 생각해 보세요 FaceTime으로 통화하든 문자 메시지를 보내든 멀티태스킹을 할 겁니다 따라서 어떤 사람은 그룹 활동을 하면서 여러분의 앱에서 나갈 때도 있습니다 이런 경우에는 조율된 경험을 위하여 화면 속 화면을 지원해야 합니다 그러면 친구들과 함께 시청을 계속하면서 나머지 그룹과 존재감을 유지할 수 있죠 참가자가 메시지에 답장을 보내거나 FaceTime으로 그룹에 연결될 때마다 매번 영상을 멈출 필요가 없습니다 여러분의 앱에 그룹 활동을 만들 때 이런 사항을 주의하면 E2E SharePlay 경험을 매끄럽게 만들고 디지털 장벽을 허물어 서로 함께 있다고 느끼는 뜻깊은 순간을 만들 수 있을 것입니다 앱에서 SharePlay를 직접 시작할 수 있도록 여러분의 그룹 활동을 꼭 등록하십시오 활동에 참여할 때 내용을 예상할 수 있도록 설명 메타데이터를 작성하세요 늦게 참가한 사용자를 배려하고 UI가 변경되는 이유에 대해 맥락 정보를 제공하세요 제어 메뉴는 접근하기 쉬워야 하며 미디어에서는 화면 속 화면을 지원하십시오 오늘 많은 이야기를 나눴네요 빠르게 요약해 보죠 이제 FaceTime으로 통화하지 않아도 앱에서 SharePlay를 직접 시작할 수 있습니다 다양한 그룹 활동을 만들 수 있는 더 넓은 기회가 열렸죠 따라서 포털 상상 훈련으로 경험을 디자인할 방법을 고민해 보세요 여러분의 앱을 사용하는 사람들이 같은 공간에 있는 것처럼 느껴야 합니다 앱의 콘텐츠와 활동을 재해석하여 그룹에 어울리는 훌륭한 경험을 만들고 디지털 장벽에 가로막히지 않도록 최고의 모범 사례를 활용하십시오 여러분의 창의적인 SharePlay 활용이 정말 기대되네요 세션이 즐거우셨길 바랍니다 시청해 주셔서 감사합니다 ♪
-
-
찾고 계신 콘텐츠가 있나요? 위에 주제를 입력하고 원하는 내용을 바로 검색해 보세요.
쿼리를 제출하는 중에 오류가 발생했습니다. 인터넷 연결을 확인하고 다시 시도해 주세요.