privacysandbox ui

  
TODO
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
2025년 12월 17일 - - - 1.0.0-alpha17

종속 항목 선언

privacysandbox-ui의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

Groovy

dependencies {
    // Use to implement privacysandbox ui-client
    implementation "androidx.privacysandbox.ui:ui-client:1.0.0-alpha17"

    // Use to implement privacysandbox ui-core
    implementation "androidx.privacysandbox.ui:ui-core:1.0.0-alpha17"

    // Use to implement privacysandbox ui-core
    implementation "androidx.privacysandbox.ui:ui-provider:1.0.0-alpha17"
}

Kotlin

dependencies {
    // Use to implement privacysandbox ui-client
    implementation("androidx.privacysandbox.ui:ui-client:1.0.0-alpha17")

    // Use to implement privacysandbox ui-core
    implementation("androidx.privacysandbox.ui:ui-core:1.0.0-alpha17")

    // Use to implement privacysandbox ui-provider
    implementation("androidx.privacysandbox.ui:ui-provider:1.0.0-alpha17")

    
}

종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.

의견

제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.

새로운 문제 제출하기

자세한 내용은 Issue Tracker 문서를 참고하세요.

버전 1.0

버전 1.0.0-alpha17

2025년 12월 17일

androidx.privacysandbox.ui:ui-*:1.0.0-alpha17이 출시되었습니다. 버전 1.0.0-alpha17에는 이러한 커밋이 포함되어 있습니다.

  • 이 라이브러리는 지원 중단되었으며 향후 업데이트가 제공되지 않습니다.

API 변경사항 - privacysandbox.ui API 지원 중단 (I858d5, b/452878636) - minSdk이 API 21에서 23으로 변경됨 (Ifa120, b/380448311) - 실험용 SandboxedSdkUi을 비실험용 SandboxedSdkUi에서 분리 (Ie9154, b/430118542) - SdkSandboxControllerCompatsdkruntime-provider로 이전되었습니다 (Id99fb, b/426122358). - 클라이언트 앱은 SandboxedSdkView 또는 SandboxedSdkUi를 사용하여 클라이언트 창에 상대적인 제공자 UI의 z-수준을 변경할 수 없습니다. (I87e9f, b/413659157)

버그 수정

버전 1.0.0-alpha16

2025년 5월 20일

androidx.privacysandbox.ui:ui-*:1.0.0-alpha16이 출시되었습니다. 버전 1.0.0-alpha16에는 이러한 커밋이 포함되어 있습니다.

새로운 기능

  • SandboxedSdkView의 장애물을 측정하는 로직을 추가했습니다. 이 로직은 연결된 SessionObserverFactory.signalOptionsSandboxedUiAdapterSignalOptions.OBSTRUCTIONS가 포함된 경우 SessionObserver.onUiContainerChanged()에서 전송됩니다. 장애물은 뷰 자체를 기준으로 보고됩니다.

API 변경사항

  • SandboxedSdkUi를 ui-client에서 새로운 ui-client-compose 라이브러리로 이동했습니다.
  • UI 컨테이너의 장애물을 측정하는 로직이 추가되었습니다. (I34bea)

버그 수정

  • 이제 콘텐츠 뷰의 알파를 업데이트하는 SandboxedSdkView.setAlpha()가 수정되었습니다.

버전 1.0.0-alpha15

2025년 3월 26일

androidx.privacysandbox.ui:ui-client:1.0.0-alpha15, androidx.privacysandbox.ui:ui-core:1.0.0-alpha15androidx.privacysandbox.ui:ui-provider:1.0.0-alpha15이 출시되었습니다. 버전 1.0.0-alpha15에는 이러한 커밋이 포함되어 있습니다.

새로운 기능

  • SandboxedSdkViewSandboxedSdkUi의 기본 Z 순서를 '아래'로 설정하여 이제 제공자의 노출 영역이 클라이언트의 창 아래에 배치됨을 나타냅니다. 클라이언트 창에서 수신된 후 이 모드에서 UI 제공자가 MotionEvents를 수신할 수 있도록 지원이 추가되었습니다.
  • SessionObserverFactory 인터페이스에 signalOptions 필드를 추가했습니다. 이를 사용하여 연결된 SessionObserver에 대해 수집되는 신호를 결정하는 데 사용되는 문자열 옵션 집합을 정의할 수 있습니다. 초기 신호 집합은 SandboxedUiAdapterSignalOptions에 정의되어 있습니다. 신호 옵션이 설정되지 않으면 SessionObserver.onSessionOpened()SessionObserver.onSessionClosed()만 호출됩니다.

API 변경사항

  • SandboxedUiAdapter.openSession()에서 SessionConstants의 이름이 SessionData로 변경되었습니다.

알려진 문제

  • SDK가 SDK 런타임에 로드되고 SandboxedSdkView 또는 SandboxedSdkUi의 Z 순서가 '위'이면 동작은 제공업체 창에서만 수신되고 더 이상 클라이언트 창으로 전송되지 않습니다.

버전 1.0.0-alpha14

2025년 2월 26일

androidx.privacysandbox.ui:ui-client:1.0.0-alpha14, androidx.privacysandbox.ui:ui-core:1.0.0-alpha14androidx.privacysandbox.ui:ui-provider:1.0.0-alpha14이 출시되었습니다. 버전 1.0.0-alpha14에는 이러한 커밋이 포함되어 있습니다.

새로운 기능

  • 이제 클라이언트 소유 및 제공업체 소유 요소가 있을 수 있는 UI인 '공유 UI'를 만들 수 있습니다. 공유 UI는 ViewGroup를 확장하는 SharedUiContainer를 사용하여 호스팅할 수 있습니다. 새 API는 SandboxedSdkViewSandboxedUiAdapter과 유사한 세션 관리 개념을 활용합니다.
  • 이 버전에서 추가된 모든 API는 SharedUiPresentationApi @RequiresOptIn 플래그 뒤에 있습니다.

API 변경사항

  • SharedUiContainer에 세션 관리 및 애셋 등록 API가 추가되었습니다. 세션 관리는 동일한 출시에서 도입된 SharedUiAdapter를 사용하여 구현됩니다. (Ic60b0)
  • 클라이언트 소유 UI와 제공업체 소유 UI를 호스팅할 수 있는 SharedUiContainer 추가 모든 하위 뷰를 왼쪽 상단에 배치합니다. (Ia7310)
  • SharedUiAdapter의 이전 버전과의 호환성 지원이 추가되었습니다. (I56d7a)
  • 클라이언트 소유 UI와 제공업체 소유 UI를 호스팅할 수 있는 뷰 컨테이너의 세션 관리를 위해 SharedUiAdapter 추가 세션 관리 로직은 SandboxedUiAdapter와 유사합니다. (I501f6)

버그 수정

  • onVisibilityAggregated가 호출될 때 조회 가능성을 계산합니다. (I91c69)

알려진 문제

  • PoolingContainer 내부에 배치되면 SharedUiContainer는 창 분리 시 세션을 닫습니다.

버전 1.0.0-alpha13

2025년 1월 29일

androidx.privacysandbox.ui:ui-client:1.0.0-alpha13, androidx.privacysandbox.ui:ui-core:1.0.0-alpha13androidx.privacysandbox.ui:ui-provider:1.0.0-alpha13이 출시되었습니다. 버전 1.0.0-alpha13에는 이러한 커밋이 포함되어 있습니다.

새로운 기능

  • Compose UI 내에서 원격 콘텐츠를 표시하는 데 사용할 수 있는 SandboxedSdkUi라는 컴포저블 객체를 추가했습니다. 이 객체는 세션 관리 및 이벤트 리스너를 위해 기존 SandboxedSdkView 개념을 활용합니다. (I009cf)
  • 이전 windowInputToken를 대체하는 새 SessionConstants 매개변수를 포함하도록 SandboxedUiAdapter.openSession 서명을 변경했습니다. 이 매개변수는 SandboxedUiAdapter.Session의 수명 동안 일정하게 유지되는 값을 전달하는 데 사용됩니다. (Ibc0df, I28435)

알려진 문제

  • 스크롤될 때 SandboxedSdkUi에 대해 SessionObserver 이벤트가 전송되지 않습니다.
  • SandboxedSdkUi는 Z-above 모드에 있을 때 상위 뷰에 의해 클리핑되지 않습니다.

API 변경사항

  • 지원 중단된 SDKActivityLauncher 코드 삭제 (I49a4f)
  • 새로운 SessionObserverFactoryRegistry 인터페이스를 추가하여 관찰자 팩토리 등록 로직을 SandboxedUiAdapter에서 분리했습니다. (I245cc)

버전 1.0.0-alpha12

2024년 12월 11일

androidx.privacysandbox.ui:ui-client:1.0.0-alpha12, androidx.privacysandbox.ui:ui-core:1.0.0-alpha12androidx.privacysandbox.ui:ui-provider:1.0.0-alpha12이 출시되었습니다. 버전 1.0.0-alpha12에는 이러한 커밋이 포함되어 있습니다.

새로운 기능

  • StateChangedListenerSandboxedSdkViewEventListener로 바꿨습니다 이 이벤트 리스너는 표시된 UI, 세션 종료, 세션 오류 이벤트를 수신 대기하는 데 사용할 수 있습니다.

API 변경사항

  • SandboxedSdkView 내부에서 UI 이벤트를 수신 대기하기 위한 SandboxedSdkViewEventListener를 추가합니다. 이 버전에서는 StateChangedListener도 삭제됩니다. (Id71ea)

버그 수정

  • SandboxedSdkView에서 클리핑 경계 로직을 삭제했습니다. SandboxedSdkView가 스크롤 가능한 컨테이너에 배치되고 orderProviderUiAboveClientUi(false)가 호출되지 않은 경우 (기본 프레임워크 버그가 수정될 때까지) UX 문제가 발생합니다. (Id420d)
  • DelegatingSandboxedUiAdapter을 사용하는 동안 원격 프로세스가 종료될 경우 발생할 수 있는 RemoteException을 수정했습니다.

버전 1.0.0-alpha11

2024년 11월 13일

androidx.privacysandbox.ui:ui-client:1.0.0-alpha11, androidx.privacysandbox.ui:ui-core:1.0.0-alpha11androidx.privacysandbox.ui:ui-provider:1.0.0-alpha11이 출시되었습니다. 버전 1.0.0-alpha11에는 이러한 커밋이 포함되어 있습니다.

새로운 기능

  • SandboxedUiAdapter을 확장하고 서로 다른 SandboxedUiAdapters 간에 위임하는 데 사용할 수 있는 실험용 API DelegatingSandboxedUiAdapter를 도입했습니다. 이 어댑터가 SandboxedSdkView와 같은 클라이언트 컨테이너에 설정되면 위임 어댑터는 updateDelegate를 사용하여 위임 어댑터를 변경할 수 있습니다. 이렇게 하면 기존 세션이 종료되고 새 위임자를 위한 새 SandboxedUiAdapter.Session이 생성됩니다. 이를 통해 대리자 간에 원활하게 전환할 수 있습니다. (I5f1c5, I9e3e7)
  • 패딩을 위한 SandboxedSdkView 지원이 개선되었습니다. (Ic414f)

버그 수정

  • 전역 레이아웃 이벤트에서 발생할 수 있는 NullPointerException가 수정되었습니다.

버전 1.0.0-alpha10

2024년 9월 18일

androidx.privacysandbox.ui:ui-client:1.0.0-alpha10, androidx.privacysandbox.ui:ui-core:1.0.0-alpha10androidx.privacysandbox.ui:ui-provider:1.0.0-alpha10이 출시되었습니다. 버전 1.0.0-alpha10에는 이러한 커밋이 포함되어 있습니다.

새로운 기능

  • SandboxedSdkView를 포함하는 창이 표시되는 경우에만 SandboxedSdkView 내에서 세션을 열도록 세션 열기 로직이 업데이트되었습니다.
  • SandboxedSdkView가 포함된 창의 가시성이 변경될 때 onUiContainerChanged를 전송하도록 SessionObserver 로직을 업데이트했습니다.

버그 수정

  • 창 공개 상태가 변경될 때 onUiContainerChanged 호출 (I541cf)
  • AGP 7.3 이상 (예: R8 버전 3.3)을 사용하여 R8을 사용하는 경우 API 모델링을 통해 자동으로 발생하고 AGP 8.1 이상 (예: D8 버전 8.1)을 사용하는 모든 빌드에 대해 새 플랫폼 API에 대한 액세스의 수동 윤곽선이 삭제되었습니다. AGP를 사용하지 않는 클라이언트는 D8 버전 8.1 이상으로 업데이트하는 것이 좋습니다. 자세한 내용은 이 도움말을 참조하세요. (If6b4c, b/345472586)

버전 1.0.0-alpha09

2024년 6월 26일

androidx.privacysandbox.ui:ui-client:1.0.0-alpha09, androidx.privacysandbox.ui:ui-core:1.0.0-alpha09androidx.privacysandbox.ui:ui-provider:1.0.0-alpha09이 출시되었습니다. 버전 1.0.0-alpha09에는 이러한 커밋이 포함되어 있습니다.

새로운 기능

  • UI 제공업체가 전체 SandboxedUiAdapter 또는 Session 인터페이스를 구현하지 않도록 하는 데 사용할 수 있는 AbstractSandboxedUiAdapterAbstractSandboxedUiAdapter.AbstractSession 추상 클래스가 도입되었습니다. UI 제공자는 이러한 추상 클래스를 사용하는 것이 좋습니다.
  • SessionObserverFactorySandboxedUiAdapter에 연결할 수 있는 registerObserverFactory 로직을 추가했습니다. SessionObserverFactory가 어댑터에 연결되면 해당 어댑터에 대해 생성된 각 새 UI 세션에 대해 SessionObserver가 생성됩니다. 생성된 SessionObserver는 UI 세션이 열릴 때 onSessionOpened 콜백을 수신합니다. Session 뷰의 UI 프레젠테이션이 변경되면 SessionObserver.onUiContainerChanged가 호출됩니다. onUiContainerChanged는 제한되며 최대 200ms마다 호출됩니다.
  • SessionObserver.onUiContainerChanged에서 전송된 Bundle에서 생성할 수 있는 SandboxedSdkViewUiInfo를 추가했습니다. 이 객체는 UI 세션을 호스팅하는 SandboxedSdkView의 UI 상태를 나타냅니다. 여기에는 높이와 너비 정보, 화면에 표시되는 뷰의 지오메트리를 나타내는 Rect, 뷰의 불투명도를 나타내는 불투명도 힌트가 포함됩니다.

API 변경사항

  • SandboxedSdkViewUiInfo에 불투명도 힌트 추가 (I093ac)
  • SessionObserver.onUiContainerChangedSandboxedSdkViewUiInfo 추가 (Ie98bc)
  • SessionObserver 인터페이스 및 등록 로직 추가 (I047dc)
  • AbstractSandboxedUiAdapterAbstractSession 추가 (I3617a)

알려진 문제

  • UI 제공자가 클라이언트 애플리케이션과 동일한 프로세스에 있는 경우 컨테이너가 스크롤될 때 SessionObserver.onUiContainerChanged가 전송되지 않습니다.

버전 1.0.0-alpha08

2024년 5월 14일

androidx.privacysandbox.ui:ui-client:1.0.0-alpha08, androidx.privacysandbox.ui:ui-core:1.0.0-alpha08androidx.privacysandbox.ui:ui-provider:1.0.0-alpha08이 출시되었습니다. 버전 1.0.0-alpha08에는 이 커밋이 포함되어 있습니다.

새로운 기능

  • RecyclerView과 같은 PoolingContainer 내에서 SandboxedSdkView 사용 지원이 추가되었습니다. SandboxedSdkViewPoolingContainer인 상위 요소가 있는 경우 UI 세션의 수명 주기가 PoolingContainer의 수명 주기와 정렬되어 세션이 창 분리를 통해 유지될 수 있습니다.

API 변경사항

  • 지원 중단된 개인 정보 보호 샌드박스 활동 API 이제 이러한 API는 전용 활동 라이브러리 androidx.privacysandbox.activity에서 찾을 수 있습니다. (I68beb)

버그 수정

  • 풀링 컨테이너 내에 원격 콘텐츠를 표시할 때 렌더링 버그가 수정되었습니다. (I804df)
  • 이전 버전과의 호환성 모드에서 ViewGroups의 렌더링 문제를 일으키는 버그가 수정되었습니다. (I8de92)
  • SandboxedSdkView의 상위 요소 중 하나가 PoolingContainer인 경우 창 분리가 아닌 PoolingContainer에서 리소스를 해제할 수 있다고 표시할 때 UI 세션을 닫습니다. (I2046b)

외부 기여

  • 이제 minSdk에서 GestureDetector을 사용할 수 있으므로 GestureDetectorCompat이 지원 중단되었습니다. (Icc4cd)

버전 1.0.0-alpha07

2023년 10월 18일

androidx.privacysandbox.ui:ui-client:1.0.0-alpha07, androidx.privacysandbox.ui:ui-core:1.0.0-alpha07androidx.privacysandbox.ui:ui-provider:1.0.0-alpha07이 출시되었습니다. 버전 1.0.0-alpha07에 포함된 커밋을 확인하세요.

새로운 기능

  • 라이브러리에 하위 호환성 지원이 추가되었습니다. API 33 이하에서는 제공업체의 뷰가 다른 클래스 로더의 앱 프로세스 내에 렌더링됩니다. (If0b7a)
  • 호스트 및 제공자 컨테이너의 크기 조절이 동일한 프레임에서 커밋되어 눈에 띄는 UI 버벅거림을 방지할 수 있는 로직이 추가되었습니다. (Ic2cd9)

API 변경사항

  • 라이브러리의 MinSdk가 API 21로 변경되었습니다. (I474b8)

버전 1.0.0-alpha06

2023년 9월 20일

androidx.privacysandbox.ui:ui-client:1.0.0-alpha06, androidx.privacysandbox.ui:ui-core:1.0.0-alpha06androidx.privacysandbox.ui:ui-provider:1.0.0-alpha06이 출시되었습니다. 버전 1.0.0-alpha06에 포함된 커밋을 확인하세요.

새로운 기능

  • SandboxedSdkView를 스크롤할 수 있는 '바운딩 상위 요소' 뷰에 클리핑하는 로직을 추가했습니다. 이렇게 하면 SandboxedSdkView의 콘텐츠가 다른 뷰나 루트 콘텐츠 뷰 외부의 UI 구성요소를 가리지 않습니다. (I9ea94)

API 변경사항

  • SandboxedSdkView.setZOrderOnTopAndEnableUserInteractionorderProviderUiAboveClientUi로 이름을 바꿨습니다. (Iecb7e)

버그 수정

  • 올바른 Z-order 값을 호스트에 전송합니다. (Ib0ddf)
  • 세로 스크롤/플링의 터치 포커스만 전송 (I0528c)

버전 1.0.0-alpha05

2023년 8월 9일

androidx.privacysandbox.ui:ui-client:1.0.0-alpha05, androidx.privacysandbox.ui:ui-core:1.0.0-alpha05androidx.privacysandbox.ui:ui-provider:1.0.0-alpha05이 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.

새로운 기능

  • SandboxedSdkView에서 시작된 스크롤 및 플링 동작 시 터치 포커스를 호스트로 전송하는 로직을 추가했습니다. 이를 통해 클라이언트의 스크롤 가능한 컨테이너 호스팅 제공업체 UI가 스크롤과 플링에 올바르게 응답할 수 있습니다.

API 변경사항

  • SandboxedUiAdapterwindowInputToken 매개변수를 추가했습니다. (Ief578)

버그 수정

  • 첫 번째 그리기 후 세션 상태를 활성으로 설정 (I36f3f)
  • SandboxedSdkView의 레이아웃 문제 수정 (I09cb8)
  • 터치 포커스를 호스트로 전송하는 로직 추가 (I33b54)
  • SandboxedUiAdapterwindowInputToken 매개변수 추가 이는 SurfaceControlViewHost의 토큰이 삽입된 계층 구조의 호스트와 올바르게 연결되도록 하는 데 필요합니다. (Ief578)
  • 기본 스레드 내에서 notifyResized를 실행합니다. (I62440)
  • Session.close() 흐름의 비정상 종료 수정 (I5392e)

버전 1.0.0-alpha04

2023년 6월 21일

androidx.privacysandbox.ui:ui-client:1.0.0-alpha04, androidx.privacysandbox.ui:ui-core:1.0.0-alpha04androidx.privacysandbox.ui:ui-provider:1.0.0-alpha04이 출시되었습니다. 버전 1.0.0-alpha04에 포함된 커밋을 확인하세요.

새로운 기능

  • SdkActivityLauncher를 소개합니다. 런타임 지원 SDK가 활동을 실행하도록 허용하는 인터페이스입니다. (I5b3dc)

버그 수정

  • notifyZOrderChanged 경합 상태 수정 UI 제공자가 모든 Z 순서 변경사항에 대해 알림을 받도록 합니다. openSession이 호출되기 전에 SandboxedSdkView의 Z 순서가 변경되면 UI 제공자에게 명시적으로 알림이 전송되지 않습니다.

버전 1.0.0-alpha03

2023년 5월 24일

androidx.privacysandbox.ui:ui-client:1.0.0-alpha03, androidx.privacysandbox.ui:ui-core:1.0.0-alpha03androidx.privacysandbox.ui:ui-provider:1.0.0-alpha03이 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.

새로운 기능

  • StateChangedListener는 UI 세션의 변경사항을 애플리케이션에 알립니다.

API 변경사항

  • ErrorConsumer를 대체하는 StateChangedListener가 추가되었습니다. (Icd5d3)

버그 수정

  • UI 제공자가 모든 Z 순서 변경사항에 대해 알림을 받도록 notifyZOrderChanged 경합 상태 수정

버전 1.0.0-alpha02

2023년 4월 19일

androidx.privacysandbox.ui:ui-client:1.0.0-alpha02, androidx.privacysandbox.ui:ui-core:1.0.0-alpha02androidx.privacysandbox.ui:ui-provider:1.0.0-alpha02이 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.

버그 수정

  • 불안정한 테스트인 ChangingSandboxedSdkViewLayoutChangesChildLayout 테스트가 사용 중지됨

버전 1.0.0-alpha01

2023년 3월 8일

androidx.privacysandbox.ui:ui-client:1.0.0-alpha01, androidx.privacysandbox.ui:ui-core:1.0.0-alpha01androidx.privacysandbox.ui:ui-provider:1.0.0-alpha01이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

  • 애플리케이션과 런타임 지원 SDK (개인 정보 보호 샌드박스)가 SDK (제공자)에서 제공하는 UI를 애플리케이션 (클라이언트)이 호스팅하도록 하는 데 사용할 수 있는 새로운 Jetpack 라이브러리입니다.