privacysandbox ui
| 최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
|---|---|---|---|---|
| 2025년 5월 20일 | - | - | - | 1.0.0-alpha16 |
종속 항목 선언
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-alpha16" // Use to implement privacysandbox ui-core implementation "androidx.privacysandbox.ui:ui-core:1.0.0-alpha16" // Use to implement privacysandbox ui-core implementation "androidx.privacysandbox.ui:ui-provider:1.0.0-alpha16" }
Kotlin
dependencies { // Use to implement privacysandbox ui-client implementation("androidx.privacysandbox.ui:ui-client:1.0.0-alpha16") // Use to implement privacysandbox ui-core implementation("androidx.privacysandbox.ui:ui-core:1.0.0-alpha16") // Use to implement privacysandbox ui-provider implementation("androidx.privacysandbox.ui:ui-provider:1.0.0-alpha16") }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 1.0
버전 1.0.0-alpha16
2025년 5월 20일
androidx.privacysandbox.ui:ui-*:1.0.0-alpha16이 출시되었습니다. 버전 1.0.0-alpha16에는 이 커밋이 포함되어 있습니다.
새로운 기능
SandboxedSdkView에서 장애물을 측정하는 로직을 추가했습니다. 이 로직은SandboxedUiAdapterSignalOptions.OBSTRUCTIONS가 연결된SessionObserverFactory.signalOptions에 포함된 경우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-alpha15 및 androidx.privacysandbox.ui:ui-provider:1.0.0-alpha15이 출시되었습니다. 버전 1.0.0-alpha15에는 이 커밋이 포함되어 있습니다.
새로운 기능
SandboxedSdkView및SandboxedSdkUi의 기본 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-alpha14 및 androidx.privacysandbox.ui:ui-provider:1.0.0-alpha14이 출시되었습니다. 버전 1.0.0-alpha14에는 이 커밋이 포함되어 있습니다.
새로운 기능
- 이제 클라이언트 소유 및 제공업체 소유 요소가 포함될 수 있는 '공유 UI'를 만들 수 있습니다. 공유 UI는
ViewGroup를 확장하는SharedUiContainer를 사용하여 호스팅할 수 있습니다. 새 API는SandboxedSdkView및SandboxedUiAdapter와 유사한 세션 관리 개념을 활용합니다. - 이 버전에 추가된 모든 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-alpha13 및 androidx.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-alpha12 및 androidx.privacysandbox.ui:ui-provider:1.0.0-alpha12이 출시되었습니다. 버전 1.0.0-alpha12에는 이 커밋이 포함되어 있습니다.
새로운 기능
StateChangedListener를SandboxedSdkViewEventListener로 바꿨습니다 이 이벤트 리스너는 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-alpha11 및 androidx.privacysandbox.ui:ui-provider:1.0.0-alpha11이 출시되었습니다. 버전 1.0.0-alpha11에는 이 커밋이 포함되어 있습니다.
새로운 기능
SandboxedUiAdapter를 확장하고 여러SandboxedUiAdapters간에 위임하는 데 사용할 수 있는 실험용 APIDelegatingSandboxedUiAdapter를 도입했습니다. 이 어댑터가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-alpha10 및 androidx.privacysandbox.ui:ui-provider:1.0.0-alpha10이 출시되었습니다. 버전 1.0.0-alpha10에는 이 커밋이 포함되어 있습니다.
새로운 기능
SandboxedSdkView가 포함된 창이 표시되는 경우에만SandboxedSdkView내에서 세션을 열도록 세션 열기 로직을 업데이트했습니다.SandboxedSdkView가 포함된 창의 가시성이 변경될 때onUiContainerChanged를 전송하도록SessionObserver로직을 업데이트했습니다.
버그 수정
- 창 표시 상태가 변경될 때
onUiContainerChanged호출 (I541cf) - 새 플랫폼 API에 대한 액세스 수동 개요가 삭제되었습니다. AGP 7.3 이상 (예: R8 버전 3.3)에서 R8을 사용하고 있을 때와 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-alpha09 및 androidx.privacysandbox.ui:ui-provider:1.0.0-alpha09이 출시되었습니다. 버전 1.0.0-alpha09에는 이 커밋이 포함되어 있습니다.
새로운 기능
- UI 제공업체가 전체
SandboxedUiAdapter또는Session인터페이스를 구현하지 않도록 하는 데 사용할 수 있는AbstractSandboxedUiAdapter및AbstractSandboxedUiAdapter.AbstractSession추상 클래스를 도입했습니다. UI 제공업체는 이러한 추상 클래스를 사용하는 것이 좋습니다. SessionObserverFactory를SandboxedUiAdapter에 연결할 수 있는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.onUiContainerChanged및SandboxedSdkViewUiInfo를 추가합니다. (Ie98bc)SessionObserver인터페이스와 등록 로직을 추가합니다. (I047dc)AbstractSandboxedUiAdapter및AbstractSession를 추가합니다. (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-alpha08 및 androidx.privacysandbox.ui:ui-provider:1.0.0-alpha08이 출시되었습니다. 버전 1.0.0-alpha08에는 이 커밋이 포함되어 있습니다.
새로운 기능
RecyclerView와 같은PoolingContainer내에서SandboxedSdkView를 사용하는 지원을 추가했습니다.SandboxedSdkView의 상위 요소가PoolingContainer인 경우 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-alpha07 및 androidx.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-alpha06 및 androidx.privacysandbox.ui:ui-provider:1.0.0-alpha06이 출시되었습니다. 버전 1.0.0-alpha06에 포함된 커밋을 확인하세요.
새로운 기능
SandboxedSdkView를 스크롤할 수 있는 '경계 상위' 뷰에 클립하는 로직을 추가했습니다. 이렇게 하면SandboxedSdkView의 콘텐츠가 루트 콘텐츠 뷰 외부의 다른 뷰나 UI 구성요소를 가리지 않습니다. (I9ea94)
API 변경사항
SandboxedSdkView.setZOrderOnTopAndEnableUserInteraction의 이름을orderProviderUiAboveClientUi로 바꿨습니다. (Iecb7e)
버그 수정
버전 1.0.0-alpha05
2023년 8월 9일
androidx.privacysandbox.ui:ui-client:1.0.0-alpha05, androidx.privacysandbox.ui:ui-core:1.0.0-alpha05 및 androidx.privacysandbox.ui:ui-provider:1.0.0-alpha05이 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.
새로운 기능
SandboxedSdkView에서 발생하는 스크롤 및 플링 동작에서 터치 포커스를 호스트로 전송하는 로직을 추가했습니다. 이렇게 하면 클라이언트의 스크롤 가능한 컨테이너 호스팅 제공업체 UI가 스크롤 및 플링에 올바르게 응답할 수 있습니다.
API 변경사항
SandboxedUiAdapter에windowInputToken매개변수를 추가했습니다. (Ief578)
버그 수정
- 첫 번째 그리기 후 세션 상태를 '활성'으로 설정합니다. (I36f3f)
SandboxedSdkView의 레이아웃 문제를 수정했습니다. (I09cb8)- 터치 포커스를 호스트로 전송하는 로직을 추가했습니다. (I33b54)
SandboxedUiAdapter에windowInputToken매개변수를 추가합니다. 이는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-alpha04 및 androidx.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-alpha03 및 androidx.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-alpha02 및 androidx.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-alpha01 및 androidx.privacysandbox.ui:ui-provider:1.0.0-alpha01이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
- 이는 애플리케이션과 런타임 지원 SDK (개인 정보 보호 샌드박스)가 애플리케이션 (클라이언트)이 SDK (제공업체)에서 제공하는 UI를 호스팅하도록 하는 데 사용할 수 있는 새로운 Jetpack 라이브러리입니다.