IU da privacysandbox

  
TODO
Atualização mais recente Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
17 de dezembro de 2025 - - - 1.0.0-alpha17

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-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")

    
}

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.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

Versão 1.0

Versão 1.0.0-alpha17

17 de dezembro de 2025

Lançamento de androidx.privacysandbox.ui:ui-*:1.0.0-alpha17. A versão 1.0.0-alpha17 contém estes commits.

  • Essa biblioteca foi descontinuada e não vai receber mais atualizações.

Mudanças na API - APIs privacysandbox.ui descontinuadas (I858d5, b/452878636) - minSdk foi alterado da API 21 para a 23 (Ifa120, b/380448311) - Desvincule a SandboxedSdkUi experimental da não experimental. (Ie9154, b/430118542) - SdkSandboxControllerCompat migrado para sdkruntime-provider (Id99fb, b/426122358) - O app cliente não pode mudar o nível Z da interface do provedor em relação à janela do cliente usando SandboxedSdkView ou SandboxedSdkUi. (I87e9f, b/413659157)

Correções de bugs

  • Mudança do minSdk padrão da API 21 para a API 23 (Ibdfca, b/380448311, b/435705964, b/435705223).
  • Adição de suporte a PoolingContainer no gerenciamento de sessões SharedUiContainer: a sessão compartilhada da interface não é fechada caso o contêiner esteja em um PoolingContainer. (Iabe16, b/352500350)

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 estes commits.

Novos recursos

  • Adição de lógica para medir obstruções em SandboxedSdkView, que será enviado em SessionObserver.onUiContainerChanged() se SandboxedUiAdapterSignalOptions.OBSTRUCTIONS estiver incluído no SessionObserverFactory.signalOptions associado. As obstruções são informadas em relação à própria visualização.

Mudanças na API

  • O SandboxedSdkUi foi 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

  • Corrigido 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 estes commits.

Novos recursos

  • Defina a ordenação Z padrão de SandboxedSdkView e SandboxedSdkUi como "abaixo", indicando que a superfície do provedor agora está abaixo da janela do cliente. Adição de suporte para o provedor de interface receber MotionEvents nesse modo depois de ser recebido pela janela do cliente.
  • Adicionamos um campo signalOptions à interface SessionObserverFactory. Isso pode ser usado para definir um conjunto de opções de string que serão usadas para determinar quais indicadores são coletados para o SessionObserver associado. O conjunto inicial de indicadores é definido em SandboxedUiAdapterSignalOptions. Se nenhuma opção de indicador estiver definida, apenas SessionObserver.onSessionOpened() e SessionObserver.onSessionClosed() serão chamados.

Mudanças na API

  • SessionConstants foi renomeado como SessionData em SandboxedUiAdapter.openSession().

Problemas conhecidos

  • Quando o SDK é carregado no SDK Runtime e a ordem Z de SandboxedSdkView ou SandboxedSdkUi é "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 estes commits.

Novos recursos

  • Agora é possível criar uma "interface compartilhada", ou seja, uma interface que pode ter elementos pertencentes ao cliente e ao provedor. A interface compartilhada pode ser hospedada usando SharedUiContainer, que estende ViewGroup. As novas APIs usam o conceito de gerenciamento de sessão semelhante ao de SandboxedSdkView e SandboxedUiAdapter.
  • Todas as APIs adicionadas nesta versão estão atrás da flag SharedUiPresentationApi @RequiresOptIn.

Mudanças na API

  • Adicionamos APIs de gerenciamento de sessão e registro de recursos ao SharedUiContainer. O gerenciamento de sessões é implementado usando SharedUiAdapter, que foi lançado na mesma versão. (Ic60b0)
  • Adicionado SharedUiContainer que pode hospedar interfaces pertencentes ao cliente e ao provedor. Ele coloca todas as visualizações filhas no canto superior esquerdo. (Ia7310)
  • Adição de compatibilidade com versões anteriores para SharedUiAdapter. (I56d7a).
  • Adição de SharedUiAdapter para gerenciamento de sessões de contêineres de visualização que podem hospedar interfaces pertencentes ao cliente e ao provedor. A lógica de gerenciamento de sessões é semelhante à de SandboxedUiAdapter. (I501f6).

Correções de bugs

  • Calcular a visibilidade quando onVisibilityAggregated é chamado. (I91c69).

Problemas conhecidos

  • Quando colocado dentro de um PoolingContainer, SharedUiContainer fecha a sessão ao remover a 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 estes commits.

Novos recursos

  • Adição de um objeto combinável chamado SandboxedSdkUi, que pode ser usado para mostrar conteúdo remoto em uma interface do Compose. Esse objeto usa conceitos SandboxedSdkView atuais para gerenciamento de sessões e listeners de eventos. (I009cf)
  • A assinatura SandboxedUiAdapter.openSession foi alterada para incluir um novo parâmetro SessionConstants, que substitui o windowInputToken anterior. Esse parâmetro é usado para transmitir valores que serão constantes durante a vida útil do SandboxedUiAdapter.Session. (Ibc0df, I28435).

Problemas conhecidos

  • Os eventos SessionObserver não são enviados para SandboxedSdkUi quando ele é rolado.
  • SandboxedSdkUi não é cortado pelas visualizações principais quando está no modo Z-above.

Mudanças na API

  • O código SDKActivityLauncher descontinuado foi removido (I49a4f).
  • Separação da lógica de registro da fábrica de observadores de SandboxedUiAdapter com a adição de uma nova interface SessionObserverFactoryRegistry. (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 estes commits.

Novos recursos

  • A StateChangedListener foi substituída pela SandboxedSdkViewEventListener Esse listener de eventos pode ser usado para detectar eventos de interface mostrada, sessão fechada e erro de sessão.

Mudanças na API

  • Adiciona SandboxedSdkViewEventListener para detectar eventos da interface dentro de SandboxedSdkView. Esta versão também remove StateChangedListener. (Id71ea).

Correções de bugs

  • A lógica de limites de corte foi removida de SandboxedSdkView. Isso vai causar problemas de UX se SandboxedSdkView for colocado em um contêiner rolável e orderProviderUiAboveClientUi(false) não tiver sido chamado (até que o bug do framework seja corrigido). (Id420d).
  • Correção de uma RemoteException que podia ocorrer se o processo remoto fosse encerrado durante o uso de DelegatingSandboxedUiAdapter.

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 estes commits.

Novos recursos

  • Introduzimos uma API experimental, DelegatingSandboxedUiAdapter, que estende SandboxedUiAdapter e pode ser usada para delegar entre diferentes SandboxedUiAdapters. Quando esse adaptador é definido em um contêiner de cliente, como SandboxedSdkView, o adaptador de delegação pode mudar o adaptador delegado usando updateDelegate. Isso vai fechar a sessão atual e criar um novo SandboxedUiAdapter.Session para o novo delegado. Isso permite transições perfeitas entre delegados. (I5f1c5, I9e3e7)
  • Melhor suporte a SandboxedSdkView para padding. (Ic414f)

Correções de bugs

  • Correção de um NullPointerException que poderia 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 estes commits.

Novos recursos

  • Atualizamos a lógica de abertura da sessão para abrir uma sessão dentro de um SandboxedSdkView somente se a janela que contém o SandboxedSdkView estiver visível.
  • Atualizamos a lógica SessionObserver para enviar onUiContainerChanged quando a visibilidade da janela que contém o SandboxedSdkView muda.

Correções de bugs

  • Invocar onUiContainerChanged quando a visibilidade da janela mudar (I541cf)
  • Removemos o esboço manual do acesso a novas APIs da plataforma, já que isso acontece automaticamente pela modelagem de API ao usar o R8 com o AGP 7.3 ou mais recente (por exemplo, a versão 3.3 do R8) e para todos os builds ao usar o AGP 8.1 ou mais recente (por exemplo, a versão 8.1 do D8). Recomendamos que os clientes que não usam o AGP atualizem 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 estes commits.

Novos recursos

  • Introduzimos as classes abstratas AbstractSandboxedUiAdapter e AbstractSandboxedUiAdapter.AbstractSession, que podem ser usadas por provedores de UI para evitar a implementação de todas as interfaces SandboxedUiAdapter ou Session. É recomendável que os provedores de interface usem essas classes abstratas.
  • Adição de lógica registerObserverFactory que permite anexar um SessionObserverFactory a um SandboxedUiAdapter. Quando um SessionObserverFactory é anexado a um adaptador, um SessionObserver é criado para cada nova sessão de UI criada para esse adaptador. O SessionObserver criado vai receber um callback onSessionOpened quando a sessão da interface for aberta. Quando a apresentação da interface da visualização do Session muda, SessionObserver.onUiContainerChanged é chamado. O onUiContainerChanged é limitado e será chamado no máximo a cada 200 ms.
  • Adição de SandboxedSdkViewUiInfo, que pode ser criado com o Bundle enviado em SessionObserver.onUiContainerChanged. Esse objeto representa o estado da interface do SandboxedSdkView que está hospedando a sessão de interface. Ele contém informações de altura e largura, um Rect que 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.onUiContainerChanged e SandboxedSdkViewUiInfo. (Ie98bc).
  • Adicione a interface SessionObserver e a lógica de registro. (I047dc).
  • Adicione AbstractSandboxedUiAdapter e AbstractSession. (I3617a)

Problemas conhecidos

  • Quando o provedor de interface está no mesmo processo que o aplicativo cliente, SessionObserver.onUiContainerChanged nã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 estes commits.

Novos recursos

  • Adição de suporte para usar SandboxedSdkView dentro de um PoolingContainer, como um RecyclerView. Quando um SandboxedSdkView tem um pai que é um PoolingContainer, o ciclo de vida das sessões da interface é alinhado ao do PoolingContainer para garantir que a sessão possa persistir durante a remoção da janela.

Mudanças na API

  • Descontinuação das APIs Activity do Sandbox de privacidade. 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 mostrar conteúdo remoto em contêineres de agrupamento. (I804df).
  • Correção de um bug que causava problemas de renderização para ViewGroups no modo de compatibilidade com versões anteriores. (I8de92).
  • Quando um dos familiares responsáveis de SandboxedSdkView é um PoolingContainer, feche a sessão da interface quando o PoolingContainer indicar que os recursos podem ser liberados, em vez de quando a janela for separada. (I2046b).

Contribuição externa

  • GestureDetectorCompat foi descontinuado porque GestureDetector está disponível no minSdk. (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 adicionada compatibilidade com versões anteriores à biblioteca. Na API 33 e versões anteriores, a visualização do provedor será renderizada dentro do processo do app, em um carregador de classes diferente. (If0b7a).
  • Adicionada lógica que permite o commit do redimensionamento de contêineres de host e provedor no mesmo frame para evitar instabilidade visível na interface. (Ic2cd9).

Mudanças na API

  • A MinSdk da biblioteca mudou 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

  • Adicionada lógica para cortar SandboxedSdkView na visualização "pai delimitador" em que ele pode rolar. Isso garante que o conteúdo da SandboxedSdkView não oculte outras visualizações ou componentes de interface fora da visualização de conteúdo raiz. (I9ea94)

Mudanças na API

  • SandboxedSdkView.setZOrderOnTopAndEnableUserInteraction foi renomeado como orderProviderUiAboveClientUi (Iecb7e).

Correções de bugs

  • Envie o valor correto de Z-order para o host. (Ib0ddf).
  • Transfere o foco de toque apenas para rolagem/movimento vertical. (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 do toque para o host em gestos de rolagem e deslize originados em SandboxedSdkView. Isso permite que a interface do provedor de hospedagem do contêiner rolável do cliente responda corretamente a rolagens e movimentos rápidos.

Mudanças na API

  • Adição do parâmetro windowInputToken a SandboxedUiAdapter (Ief578)

Correções de bugs

  • Definir o estado da sessão como "Ativa" após o primeiro desenho (I36f3f)
  • Correção de um problema de layout com SandboxedSdkView. (I09cb8)
  • Adicionada lógica para transferir o foco do toque para o host. (I33b54).
  • Adicione o parâmetro windowInputToken a SandboxedUiAdapter. Isso é necessário para garantir que o token do SurfaceControlViewHost esteja associado corretamente ao host da hierarquia incorporada. (Ief578)
  • Execute notifyResized na linha de execução principal. (I62440).
  • Correção de uma 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 SDKs ativados pelo ambiente de execução iniciem atividades. (I5b3dc).

Correções de bugs

  • Correção da disputa notifyZOrderChanged. Garante que o provedor da interface seja notificado sobre todas as mudanças de ordem Z. O provedor de interface não será notificado explicitamente se a ordem Z do SandboxedSdkView for 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

  • StateChangedListener informa o aplicativo sobre as mudanças na sessão da interface.

Mudanças na API

  • Adição de StateChangedListener para substituir o ErrorConsumer (Icd5d3)

Correções de bugs

  • Corrigida a condição de disputa notifyZOrderChanged para que o provedor da interface seja notificado de 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

  • Teste de instabilidade desativado: ChangingSandboxedSdkViewLayoutChangesChildLayout

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

  • Essas são novas bibliotecas do Jetpack que aplicativos e 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).