PIP 모드

PIP 기호와 Play 로고의 히어로 이미지

PIP (picture-in-picture)는 전체 화면 동영상을 재생하는 활동에 사용되는 멀티 윈도우 모드의 한 유형입니다. 사용자가 기본 화면에서 앱 간에 이동하거나 콘텐츠를 탐색할 때 화면 모서리에 고정된 작은 창에서 동영상을 볼 수 있습니다.

그림 1: 사용자가 앱에 있지 않을 때도 동영상 환경을 계속 이용할 수 있음

요약

  • 활동이 PIP 모드일 때 UI 요소를 숨기고 동영상 재생이 지속되게 해야 합니다.
  • 동영상이 아닌 콘텐츠의 원활한 크기 조절을 사용 중지합니다.
  • 최소한의 UI가 포함된 동영상 재생 활동에서 최고의 사용자 환경을 제공합니다.
  • 동영상 콘텐츠 이외의 콘텐츠는 표시하지 않습니다.

앱에 PIP 모드 지원 추가

기본적으로 시스템은 앱의 PIP를 자동으로 지원하지 않으며 이 기능을 지원한다고 선언해야 합니다.

PIP 창이 화면 맨 윗부분에서 시스템이 선택한 모서리에 나타납니다.

컨트롤

기본적으로 Android는 창 닫기, 전체 화면으로 다시 확장, 설정, 미디어 재생을 위한 PIP 컨트롤을 제공합니다. 앱은 사용자가 PIP 콘텐츠와 상호작용할 수 있도록 맞춤 작업과 적절한 아이콘 애셋을 추가할 수 있습니다.

사용자는 휴대기기에서 창을 탭하거나 TV 리모컨에서 메뉴를 선택하여 PIP 창 메뉴에서 이러한 컨트롤을 표시할 수 있습니다. 앱에 활성 미디어 세션이 있으면 재생, 일시중지, 다음, 이전 컨트롤도 표시됩니다. 이러한 제어를 추가하는 방법을 알아보세요.

PIP 모드에서는 활동이 작은 창에 표시됩니다. 이 모드에서는 사용자가 앱의 다른 UI 요소와 상호작용할 수 없으며 PIP 창에 있는 작은 UI 요소의 세부정보는 잘 보이지 않을 수 있습니다.

기본 PIP 컨트롤을 보여주는 사용자 인터페이스

기본 PiP 컨트롤입니다.

맞춤 PIP 컨트롤의 예

맞춤 PIP 컨트롤의 예

사용

사용자가 앱 내에서뿐만 아니라 기기 전체에서 동영상을 계속 시청할 수 있도록 허용합니다. 앱에서 현재 활동이 PIP 모드로 전환되는 시점을 제어합니다. 이는 현재 뷰를 떠나거나 홈으로 이동하기 위해 위로 스와이프하는 등의 상호작용일 수 있습니다.

다음은 가능한 조치의 몇 가지 예입니다.

  • 사용자가 홈 버튼을 탭하거나 홈까지 위로 스와이프하면 활동이 PIP 모드로 전환될 수 있습니다. 사용자가 다른 활동을 동시에 실행하는 동안 Google 지도에서 계속 경로를 표시하는 방법입니다.

    그림 4: 길찾기 환경을 계속하는 데 사용되는 PIP
  • 사용자가 동영상을 보다가 다른 콘텐츠를 탐색할 때 앱에서 동영상을 PIP 모드로 전환할 수 있습니다.

  • 사용자가 콘텐츠 에피소드의 끝을 시청하는 동안 앱에서 동영상을 PIP 모드로 전환할 수 있습니다. 기본 화면에는 시리즈의 다음 에피소드에 관한 홍보 또는 요약 정보가 표시됩니다.

  • 사용자가 동영상을 보는 동안 앱이 추가 콘텐츠를 대기열에 올리는 방법을 제공할 수 있습니다. 동영상이 PIP 모드로 계속 재생되는 동안 기본 화면에 콘텐츠 선택 활동이 표시됩니다.

시청 환경을 보완하면서도 방해가 되지 않는 상호작용 패턴을 사용합니다. 예를 들어 콘텐츠의 에피소드가 끝날 때 동영상이 재생되는 경우 홈 화면을 나갈 때 PIP를 입력하면 재생을 중지하거나 작은 컨트롤을 탐색하기 위해 추가 사용자 작업이 필요합니다.

앱에서 동영상 재생 활동이 PIP 모드인 동안 사용자가 기본 화면에서 콘텐츠를 탐색할 때 새 동영상을 선택하는 경우가 있습니다. 사용자를 혼란스럽게 할 수 있는 새로운 활동을 실행하는 대신 기존 재생 활동의 새 동영상을 전체 화면 모드로 재생합니다.

상호작용 패턴

사용자는 PIP 창을 다른 위치로 드래그할 수 있습니다.

창을 한 번 탭하여 전체 화면 전환, 닫기 버튼, 설정 버튼 및 앱에서 제공하는 맞춤 작업 (예: 재생 컨트롤 기능)을 표시합니다.

그림 5: 기본 PiP 컨트롤

창을 두 번 탭하여 현재 PIP 크기와 최대 또는 최소 PIP 크기 간에 전환합니다. 예를 들어 최대화된 창을 두 번 탭하면 최소화되고 그 반대도 마찬가지입니다.

그림 6: 더블 탭으로 최소 크기와 최대 크기 PiP 간 전환

창을 왼쪽 또는 오른쪽 가장자리로 드래그하여 숨김니다. 창을 다시 꺼내려면 숨겨진 창에서 보이는 부분을 탭하거나 드래그하면 됩니다.

그림 7: PiP 숨김

손가락을 모으거나 펼쳐 확대/축소하여 PIP 창의 크기를 조절합니다.

PIP를 아래로 스와이프하여 창을 삭제합니다.

그림 8: 아래로 스와이프

화면전환

PIP 모드로 전환하거나 PIP 모드에서 전환할 때 사용자 환경을 개선하려면 진입 및 종료 전환을 맞춤설정하세요.

PIP로 부드럽게 전환되는 애니메이션

사용자가 PIP 모드를 트리거하면 현재 활동이 전체 화면에서 작은 창으로 축소되며, UI를 오버레이하지 않고 콘텐츠를 계속 표시합니다.

Android 12에서는 전체 화면과 PIP 창 간 전환에 미적 개선사항을 도입했습니다. 이러한 업데이트는 구현되면 태블릿과 폴더블로 자동 확장됩니다.

이러한 업데이트가 없으면 전환이 작동하지만 세련되지 않습니다. 예를 들어 전환 중에 PIP 창이 일시적으로 사라질 수 있습니다.

Android 12부터 PictureInPictureParams.Builder.setAutoEnterEnabled(true) 플래그는 홈으로 위로 스와이프하는 것과 같은 동작 전환을 더 매끄럽게 제공합니다. ENTERTAINMENT, COMMUNICATION 또는 VIDEO_PLAYER 앱에 이 방법을 사용하는 것이 좋습니다.

이 플래그가 없으면 동작 전환으로 인해 창이 앱 아이콘으로 축소된 후 PIP 창으로 다시 표시됩니다 (동영상 1 참고).

PIP에 setAutoEnterEnabled가 제대로 구현되지 않은 경우 전환 환경이 덜 세련됨

앱에 setAutoEnterEnabled가 추가되어 전환 환경이 개선되었습니다.

부드러운 동영상 시각적 요소

Android 8.0에서 PIP를 도입했을 때 sourceRectHint는 PIP로 전환된 후 표시되는 활동 영역(예: 동영상 플레이어의 동영상 뷰 경계)을 나타냈습니다. Android 12부터 OS는 sourceRectHint를 사용하여 PIP 모드에 진입하거나 종료할 때 훨씬 더 매끄러운 애니메이션을 구현합니다.

앱에서 적절한 sourceRectHint를 제공하지 않으면 PIP 전환은 여전히 작동하지만 애니메이션은 덜 세련됩니다. 예를 들어 동영상 3에서는 전체 화면에서 PIP 모드로 전환하는 덜 세련된 예를 보여줍니다. 전체 화면 창이 PIP 창으로 축소된 후 동영상이 다시 표시되기 전에 검은색 오버레이로 덮입니다.

동영상 3: PIP에 sourceRectHint이 제대로 구현되지 않은 경우 전환 환경이 매끄럽지 않음

sourceRectHint가 올바르게 구현될 때 PIP 애니메이션이 어떻게 표시되는지 예를 보려면 이전 섹션의 동영상 2를 참고하세요.

세련된 전환 환경을 지원하는 방법을 참고하려면 Android Kotlin PIP 모드 샘플을 참고하세요.

PIP 구현에 관한 자세한 내용은 PIP 모드 개발자 문서를 참고하세요.