privacysandbox ui
| Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
|---|---|---|---|---|
| 20 de maio de 2025 | - | - | - | 1.0.0-alpha16 |
Declarar dependências
Para adicionar uma dependência a privacysandbox-ui, é preciso adicionar o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.
Adicione as dependências dos artefatos necessários ao arquivo build.gradle do
seu app ou módulo:
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") }
Para mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Versão 1.0
Versão 1.0.0-alpha16
20 de maio de 2025
Lançamento de androidx.privacysandbox.ui:ui-*:1.0.0-alpha16. A versão 1.0.0-alpha16 contém estas confirmações.
Novos recursos
- Adição de lógica para medir obstruções em
SandboxedSdkView, que será enviada emSessionObserver.onUiContainerChanged()seSandboxedUiAdapterSignalOptions.OBSTRUCTIONSestiver incluído noSessionObserverFactory.signalOptionsassociado. As obstruções são informadas em relação à própria vista.
Mudanças na API
SandboxedSdkUifoi movido de ui-client para uma nova biblioteca ui-client-compose.- Adicionamos lógica para medir obstruções em contêineres de interface. (I34bea).
Correções de bugs
- Correção de
SandboxedSdkView.setAlpha(), que agora atualiza o Alfa da visualização de conteúdo.
Versão 1.0.0-alpha15
26 de março de 2025
Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha15, androidx.privacysandbox.ui:ui-core:1.0.0-alpha15 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha15. A versão 1.0.0-alpha15 contém estas confirmações.
Novos recursos
- Defina a ordem Z padrão de
SandboxedSdkVieweSandboxedSdkUicomo "abaixo", indicando que a superfície do provedor agora está abaixo da janela do cliente. Adição de suporte para que o provedor da interface recebaMotionEventsnesse modo depois de ser recebido pela janela do cliente. - Adicionamos um campo
signalOptionsà interfaceSessionObserverFactory. Ele pode ser usado para definir um conjunto de opções de string que serão usadas para determinar quais sinais são coletados para oSessionObserverassociado. O conjunto inicial de sinais é definido emSandboxedUiAdapterSignalOptions. Se nenhuma opção de indicador for definida, apenasSessionObserver.onSessionOpened()eSessionObserver.onSessionClosed()serão chamados.
Mudanças na API
SessionConstantsfoi renomeado comoSessionDataemSandboxedUiAdapter.openSession().
Problemas conhecidos
- Quando o SDK é carregado no SDK Runtime e a ordem Z de
SandboxedSdkViewouSandboxedSdkUié "acima", o gesto é recebido exclusivamente pela janela do provedor e não é mais transferido para a janela do cliente.
Versão 1.0.0-alpha14
26 de fevereiro de 2025
Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha14, androidx.privacysandbox.ui:ui-core:1.0.0-alpha14 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha14. A versão 1.0.0-alpha14 contém estas confirmações.
Novos recursos
- Agora é possível criar uma "interface compartilhada", ou seja, uma interface que pode ter elementos de propriedade do cliente e do provedor. A interface compartilhada pode ser hospedada usando
SharedUiContainer, que estendeViewGroup. As novas APIs usam o conceito de gerenciamento de sessões semelhante ao deSandboxedSdkVieweSandboxedUiAdapter. - Todas as APIs adicionadas nesta versão estão atrás da flag
SharedUiPresentationApi@RequiresOptIn.
Mudanças na API
- APIs de gerenciamento de sessão e registro de recursos foram adicionadas a
SharedUiContainer. O gerenciamento de sessões é implementado usandoSharedUiAdapter, introduzido na mesma versão. (Ic60b0). - Foi adicionado
SharedUiContainer, que pode hospedar a IU do cliente e do provedor. Ele coloca todas as visualizações filhas no canto superior esquerdo. (Ia7310). - Adição de suporte de compatibilidade com versões anteriores para
SharedUiAdapter. (I56d7a). - Adição de
SharedUiAdapterpara o gerenciamento de sessões de contêineres de visualização que podem hospedar a interface do cliente e do provedor. A lógica de gerenciamento de sessão é semelhante à deSandboxedUiAdapter. (I501f6).
Correções de bugs
- Calcula a visibilidade quando
onVisibilityAggregatedé chamada. (I91c69).
Problemas conhecidos
- Quando colocado dentro de uma
PoolingContainer,SharedUiContainerfecha a sessão na separação da janela.
Versão 1.0.0-alpha13
29 de janeiro de 2025
Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha13, androidx.privacysandbox.ui:ui-core:1.0.0-alpha13 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha13. A versão 1.0.0-alpha13 contém estas confirmações.
Novos recursos
- Foi adicionado um objeto combinável chamado
SandboxedSdkUi, que pode ser usado para mostrar conteúdo remoto em uma interface do Compose. Esse objeto usa conceitosSandboxedSdkViewexistentes para gerenciamento de sessão e listeners de eventos. (I009cf). - A assinatura
SandboxedUiAdapter.openSessionfoi alterada para incluir um novo parâmetroSessionConstantsque substitui owindowInputTokenanterior. Esse parâmetro é usado para transmitir valores que serão constantes durante a vida útil doSandboxedUiAdapter.Session. (Ibc0df, I28435).
Problemas conhecidos
- Os eventos
SessionObservernão são enviados paraSandboxedSdkUiquando ele é rolado. SandboxedSdkUinão é cortado por visualizações mães quando está no modo Z-acima.
Mudanças na API
- O código
SDKActivityLauncherdescontinuado foi removido (I49a4f). - A lógica de registro da fábrica de observadores foi separada de
SandboxedUiAdaptercom a adição de uma nova interfaceSessionObserverFactoryRegistry. (I245cc).
Versão 1.0.0-alpha12
11 de dezembro de 2024
Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha12, androidx.privacysandbox.ui:ui-core:1.0.0-alpha12 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha12. A versão 1.0.0-alpha12 contém estas confirmações.
Novos recursos
- A
StateChangedListenerfoi substituída pelaSandboxedSdkViewEventListenerEsse listener de eventos pode ser usado para detectar eventos de interface exibida, sessão fechada e erro de sessão.
Mudanças na API
- Adiciona
SandboxedSdkViewEventListenerpara detectar eventos de interface noSandboxedSdkView. Esta versão também removeStateChangedListener. (Id71ea).
Correções de bugs
- A lógica de limites de recorte foi removida de
SandboxedSdkView. Isso vai causar problemas de UX seSandboxedSdkViewfor colocado em um contêiner rolável eorderProviderUiAboveClientUi(false)não for chamado (até que o bug do framework seja corrigido). (Id420d). - Correção de
RemoteExceptionque podia ocorrer se o processo remoto fosse encerrado ao usarDelegatingSandboxedUiAdapter.
Versão 1.0.0-alpha11
13 de novembro de 2024
Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha11, androidx.privacysandbox.ui:ui-core:1.0.0-alpha11 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha11. A versão 1.0.0-alpha11 contém estas confirmações.
Novos recursos
- Foi introduzida uma API experimental,
DelegatingSandboxedUiAdapter, que estendeSandboxedUiAdaptere pode ser usada para delegar entre diferentesSandboxedUiAdapters. Quando esse adaptador é definido em um contêiner de cliente, comoSandboxedSdkView, o adaptador de delegação pode mudar o adaptador delegado usandoupdateDelegate. Isso vai encerrar a sessão atual e criar uma novaSandboxedUiAdapter.Sessionpara o novo delegado. Isso permite transições perfeitas entre delegados. (I5f1c5, I9e3e7). - Melhor suporte a
SandboxedSdkViewpara padding. (Ic414f).
Correções de bugs
- Correção de
NullPointerExceptionque podia ocorrer em um evento de layout global.
Versão 1.0.0-alpha10
18 de setembro de 2024
Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha10, androidx.privacysandbox.ui:ui-core:1.0.0-alpha10 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha10. A versão 1.0.0-alpha10 contém estas confirmações.
Novos recursos
- A lógica de abertura de sessão foi atualizada para abrir uma sessão dentro de um
SandboxedSdkViewsomente se a janela que contém oSandboxedSdkViewestiver visível. - A lógica de
SessionObserverfoi atualizada para enviaronUiContainerChangedquando a visibilidade da janela que contém oSandboxedSdkViewmuda.
Correções de bugs
- Invocar
onUiContainerChangedquando a visibilidade da janela mudar (I541cf). - O contorno manual de acesso a novas APIs da plataforma foi removido, já que isso acontece automaticamente pelo modelagem de API ao usar o R8 com o AGP 7.3 ou mais recente (por exemplo, o R8 versão 3.3) e para todos os builds ao usar o AGP 8.1 ou mais recente (por exemplo, o D8 versão 8.1). Os clientes que não estão usando o AGP precisam fazer upgrade para a versão 8.1 ou mais recente do D8. Veja mais detalhes neste artigo. (If6b4c, b/345472586).
Versão 1.0.0-alpha09
26 de junho de 2024
Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha09, androidx.privacysandbox.ui:ui-core:1.0.0-alpha09 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha09. A versão 1.0.0-alpha09 contém estas confirmações.
Novos recursos
- Foram introduzidas as classes abstratas
AbstractSandboxedUiAdaptereAbstractSandboxedUiAdapter.AbstractSession, que podem ser usadas por provedores de interface para evitar a implementação de todas as interfacesSandboxedUiAdapterouSession. É recomendável que os provedores de interface usem essas classes abstratas. - Adição de uma lógica
registerObserverFactoryque permite que umSessionObserverFactoryseja anexado a umSandboxedUiAdapter. Quando umaSessionObserverFactoryé anexada a um adaptador, umaSessionObserveré criada para cada nova sessão de interface criada para esse adaptador. OSessionObservercriado vai receber um callbackonSessionOpenedquando a sessão da interface for aberta. Quando a apresentação da IU da visualização deSessionmuda,SessionObserver.onUiContainerChangedé chamado.onUiContainerChangedé limitado e será chamado no máximo a cada 200 ms. - Adição de
SandboxedSdkViewUiInfo, que pode ser criado com oBundleenviado emSessionObserver.onUiContainerChanged. Esse objeto representa o estado da interface doSandboxedSdkViewque hospeda a sessão da interface. Ele contém informações de altura e largura, umRectque representa a geometria da visualização visível na tela e uma dica de opacidade que representa a opacidade da visualização.
Mudanças na API
- Adicione uma dica de opacidade a
SandboxedSdkViewUiInfo. (I093ac). - Adicione
SessionObserver.onUiContainerChangedeSandboxedSdkViewUiInfo. (Ie98bc). - Adicione a interface
SessionObservere a lógica de registro. (I047dc). - Adicione
AbstractSandboxedUiAdaptereAbstractSession. (I3617a).
Problemas conhecidos
- Quando o provedor da interface está no mesmo processo que o aplicativo cliente,
SessionObserver.onUiContainerChangednão é enviado quando o contêiner rola.
Versão 1.0.0-alpha08
14 de maio de 2024
Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha08, androidx.privacysandbox.ui:ui-core:1.0.0-alpha08 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha08. A versão 1.0.0-alpha08 contém estas confirmações.
Novos recursos
- Foi adicionado suporte para o uso de
SandboxedSdkViewdentro de umPoolingContainer, como umRecyclerView. Quando umaSandboxedSdkViewtem um pai que é umaPoolingContainer, o ciclo de vida das sessões da interface dela é alinhado com o daPoolingContainerpara garantir que a sessão possa persistir durante a separação da janela.
Mudanças na API
- APIs de atividade do Sandbox de privacidade descontinuadas. Agora, essas APIs podem ser encontradas na biblioteca de atividades dedicada
androidx.privacysandbox.activity. (I68beb).
Correções de bugs
- Correção de um bug de renderização ao exibir conteúdo remoto dentro de contêineres de pool. (I804df).
- Correção de um bug que causava problemas de renderização para
ViewGroupsno modo de compatibilidade com versões anteriores (I8de92). - Quando um dos pais de
SandboxedSdkViewé umPoolingContainer, feche a sessão da interface quando oPoolingContainerindicar que os recursos podem ser liberados, em vez de na separação da janela. (I2046b).
Contribuição externa
- O
GestureDetectorCompatfoi descontinuado, porque oGestureDetectorestá disponível nominSdk. (Icc4cd).
Versão 1.0.0-alpha07
18 de outubro de 2023
Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha07, androidx.privacysandbox.ui:ui-core:1.0.0-alpha07 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha07. A versão 1.0.0-alpha07 contém estas confirmações.
Novos recursos
- Foi adicionado suporte à compatibilidade com versões anteriores para a biblioteca. Na API 33 e anteriores, a visualização do provedor é renderizada dentro do processo do app, em um classloader diferente. (If0b7a).
- Adição de lógica que permite que o redimensionamento de contêineres de host e provedor seja confirmado no mesmo frame para evitar instabilidade visível na interface. (Ic2cd9).
Mudanças na API
- A minSdk da biblioteca foi alterada para a API 21. (I474b8).
Versão 1.0.0-alpha06
20 de setembro de 2023
Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha06, androidx.privacysandbox.ui:ui-core:1.0.0-alpha06 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha06. A versão 1.0.0-alpha06 contém estas confirmações.
Novos recursos
- Adição de lógica para recortar
SandboxedSdkViewna visualização "pai de contenção" que pode rolar. Isso garante que o conteúdo daSandboxedSdkViewnão obstrua outras visualizações ou componentes de interface fora da visualização de conteúdo raiz. (I9ea94).
Mudanças na API
SandboxedSdkView.setZOrderOnTopAndEnableUserInteractionfoi renomeado comoorderProviderUiAboveClientUi(Iecb7e).
Correções de bugs
- Envie o valor correto da ordem Z para o host. (Ib0ddf).
- Transfere o foco de toque apenas para rolagens/flings verticais. (I0528c).
Versão 1.0.0-alpha05
9 de agosto de 2023
Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha05, androidx.privacysandbox.ui:ui-core:1.0.0-alpha05 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estas confirmações.
Novos recursos
- Adição de lógica para transferir o foco de toque ao host em gestos de rolagem e de deslizar com força originados de
SandboxedSdkView. Isso permite que a IU do provedor de hospedagem de contêineres roláveis do cliente responda corretamente a rolagens e movimentos bruscos.
Mudanças na API
- Adição do parâmetro
windowInputTokenaSandboxedUiAdapter(Ief578).
Correções de bugs
- O estado da sessão é definido como "Ativo" após o primeiro sorteio (I36f3f).
- Correção do problema de layout com
SandboxedSdkView. (I09cb8). - Adição de lógica para transferir o foco de toque para o host. (I33b54).
- Adição do parâmetro
windowInputTokenaSandboxedUiAdapter. Isso é necessário para garantir que o token doSurfaceControlViewHostseja associado corretamente ao host da hierarquia incorporada. (Ief578). - Execute
notifyResizedna linha de execução principal. (I62440). - Correção de falha no fluxo
Session.close(). (I5392e).
Versão 1.0.0-alpha04
21 de junho de 2023
Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha04, androidx.privacysandbox.ui:ui-core:1.0.0-alpha04 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estas confirmações.
Novos recursos
- Apresente o
SdkActivityLauncher. Uma interface para permitir que os SDKs ativados pelo ambiente de execução iniciem atividades. (I5b3dc).
Correções de bugs
- Correção da disputa em
notifyZOrderChanged. Garante que o provedor de interface seja notificado sobre todas as mudanças na ordem Z. O provedor de interface não será notificado explicitamente se a ordem Z doSandboxedSdkViewfor alterada antes da invocação de openSession.
Versão 1.0.0-alpha03
24 de maio de 2023
Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha03, androidx.privacysandbox.ui:ui-core:1.0.0-alpha03 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estas confirmações.
Novos recursos
StateChangedListenerinforma o aplicativo sobre as mudanças na sessão da interface
Mudanças na API
StateChangedListenerfoi adicionado para substituir oErrorConsumer(Icd5d3).
Correções de bugs
- Correção da condição de corrida
notifyZOrderChangedpara que o provedor da interface seja notificado sobre todas as mudanças de ordem Z
Versão 1.0.0-alpha02
19 de abril de 2023
Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha02, androidx.privacysandbox.ui:ui-core:1.0.0-alpha02 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estas confirmações.
Correções de bugs
- Desativado teste instável de mudança de layout do testChangingSandboxedSdkViewLayoutChangesChildLayout
Versão 1.0.0-alpha01
8 de março de 2023
Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha01, androidx.privacysandbox.ui:ui-core:1.0.0-alpha01 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.
Novos recursos
- Estas são novas bibliotecas do Jetpack que os aplicativos e os SDKs ativados pelo ambiente de execução (Sandbox de privacidade) podem usar para permitir que o aplicativo (cliente) hospede qualquer interface fornecida pelo SDK (provedor).