Código Google: Junho 2022
Visualização do desenvolvedor 3 do Sandbox de privacidade: suporte para medição de conversão, segmentos personalizados e seleção de anúncios
Postado por Fred Chung, relacionamento com o desenvolvedor Android
O objetivo do Sandbox de privacidade no Android é desenvolver novas soluções que preservem a privacidade do usuário e proporcionem experiências eficientes e personalizadas com a publicidade em apps. Desde a primeira visualização do desenvolvedor, temos compartilhado atualizações de progresso e continuamos envolvendo o setor em tudo, do cronograma da Visualização do desenvolvedor e da taxonomia da API Topics ao gerenciamento de versões de SDK. Agradecemos seu feedback!
Hoje, estamos lançando a Visualização do desenvolvedor 3, que inclui APIs e recursos para desenvolvedores para a medição de conversão e casos de uso de remarketing. Além da prévia do SDK Runtime e das APIs Topics lançados anteriormente, você pode, pela primeira vez, começar a testar e avaliar o impacto em todas as principais APIs do Sandbox de privacidade no Android.
APIs de relatórios de atribuição agregada e em nível de evento
Com essas APIs, os desenvolvedores conseguem fazer a medição de quando um clique em um anúncio ou em um evento de visualização leva a uma conversão, como o download de um novo jogo. Elas dão suporte a casos de uso essenciais de atribuição em apps e na Web, além de elevarem a privacidade dos usuários eliminando a dependência de identificadores de usuários entre partes.
Esta versão inclui um guia do desenvolvedor e amostras de apps para ajudar na compreensão da configuração no lado do cliente e no lado do servidor e das interações das partes principais do fluxo de trabalho de relatórios de atribuição, incluindo:
Registro de fonte de atribuição e de eventos de gatilho.
Recebimento de relatórios de eventos e relatórios não criptografados que podem ser agregados.
(Observe que a criptografia de relatórios que podem ser agregados ainda não foi implementada. Veja mais detalhes nas notas da versão.)
Para facilitar os testes, a versão também dá suporte a comandos ADB para substituir janelas de tempo de relatórios. Consulte a Referência da API para saber mais sobre as APIs de clientes Android.
APIs de segmentos personalizados e seleção de anúncios
Estas APIs fazem parte do FLEDGE para Android e fornecem os elementos essenciais para a veiculação de anúncios personalizados para os usuários com base no engajamento anterior com o app, sem o compartilhamento de dados de terceiros. Você será capaz de:
Gerenciar assinaturas de segmentos personalizados e observar como os valores dos parâmetros podem afetar resultados de leilão
Buscar códigos de leilão do JavaScript em endpoints remotos
Configurar e iniciar leilões de anúncios no dispositivo
Usar relatórios de impressões
Para saber mais, acesse as páginas de referência das APIs Custom Audience e Ad Selection e as notas da versão.
Se você está apenas começando a explorar a Visualização do desenvolvedor, revise também os recursos com suporte descritos nos guias do desenvolvedor para o SDK Runtime e a API Topics.
Caso você precise se atualizar a respeito das principais tecnologias do Sandbox de privacidade no Android, recomendamos assistir a este vídeo de visão geral e a revisar as propostas de design.
Primeiros passos com a Visualização do desenvolvedor
O lançamento da Visualização do desenvolvedor de hoje fornece os recursos necessários para começar o teste antecipado de recursos e compartilhar feedback. Para começar a desenvolver, consulte as instruções para configurar o SDK e as imagens do sistema no emulador ou nos dispositivos Pixel com suporte.
Para obter mais informações sobre a Visualização do desenvolvedor do Sandbox de privacidade no Android, visite o site para desenvolvedores e inscreva-se para receber nossa newsletter sobre atualizações periodicamente.
Android 13 Beta 3 e estabilidade da plataforma
Postado por Dave Burke, vice-presidente de engenharia
Hoje estamos lançando a terceira versão Beta do Android 13, chegando à fase final do ciclo em que o foco está no aperfeiçoamento e desempenho. Com o Android 13, aprimoramos nossos temas principais de privacidade e segurança, produtividade do desenvolvedor e suporte a tablets e telas grandes.
Há muito a explorar no Android 13, desde recursos de privacidade, como a nova permissão de notificação e o seletor de fotos, até recursos de produtividade, como os ícones temáticos de apps e o suporte a idiomas por app, além de padrões modernos, como vídeo HDR, áudio Bluetooth de baixa energia (LE) e MIDI 2.0 por USB. Além disso, estendemos as atualizações mais recentes feitas no 12L, oferecendo ferramentas melhores para aproveitar os mais de 270 milhões de tablets e dispositivos de tela grande em uso ativo.
Com a versão Beta 3, o Android 13 entra na fase de estabilidade da plataforma, o que significa que, agora, as APIs de desenvolvedor e todos os comportamentos voltados para os apps estão finalizados. Agradecemos todo o feedback que vocês compartilharam para nos ajudar a chegar a esse ponto! Para os desenvolvedores, o foco agora está na qualidade e nos testes de compatibilidade à medida que os apps são preparados para o lançamento oficial no final do ano!
É possível obter a versão Beta 3 para dispositivos Pixel registrando-se aqui para obter atualizações OTA. Se você já tiver feito o registro, receberá automaticamente a atualização de hoje. Você também pode experimentar o Android 13 Beta em alguns dispositivos de vários de nossos parceiros. Saiba mais em android.com/beta. Continue lendo para ter uma visão geral rápida de como preparar os apps e visite o o site para desenvolvedores Android 13 para ver mais detalhes.
Estabilidade da plataforma
Com a Beta 3, o Android 13 chega à fase de estabilidade da plataforma, um marco que indica que todas as APIs e todos os comportamentos voltados para os apps, inclusive o SDK de API nível 33 e as APIs do NDK, agora estão finalizados. Portanto, a partir da versão Beta 3, você pode desenvolver e lançar atualizações de compatibilidade com segurança, sabendo que a plataforma não sofrerá mudanças.
Estamos solicitando a todos os desenvolvedores de jogos e apps que comecem agora os testes finais de compatibilidade e se preparem para publicar as atualizações de compatibilidade assim que possível, antes do lançamento final.
No caso dos desenvolvedores de SDKs, bibliotecas, ferramentas e mecanismos de jogos, é ainda mais importante começar os testes agora e lançar as atualizações de compatibilidade o mais rápido possível. É importante lembrar que o desenvolvimento de downstream de apps e jogos pode ser bloqueado até que você receba as atualizações. Então, ao lançar uma atualização de compatibilidade, não deixe de avisar os desenvolvedores.
Compatibilidade de apps significa que o app funciona como esperado em uma nova versão da plataforma. Em cada versão, fazemos mudanças essenciais na plataforma que melhoram a privacidade e segurança e também a experiência geral do usuário no SO. Como isso pode afetar os apps, é importante testá-los agora, fazer as atualizações necessárias e publicar uma atualização de compatibilidade para os usuários antes do lançamento final. Os usuários desfrutarão de um nível de qualidade básico, porém essencial, quando explorarem as novidades no Android 13.
Para testar a compatibilidade de apps, basta instalar o app de produção em um dispositivo com o Android 13 Beta 3 usando o Google Play ou outra fonte. Passe por todos os fluxos do app e fique de olho em possíveis problemas funcionais ou de IU. Revise as mudanças de comportamento para concentrar os testes nesses pontos. Estas são algumas das mudanças em que você deve ficar de olho:
Permissão em tempo de execução para notificações - O Android 13 introduz uma nova permissão em tempo de execução para o envio de notificações de um app. Certifique-se de entender como funciona a nova permissão e planeje-se para segmentar o Android 13 (API 33) o mais rápido possível. Saiba mais aqui.
Visualização da área de transferência - Certifique-se de que o app oculte os dados confidenciais na nova visualização da área de transferência do Android 13, como senhas e informações de cartão de crédito. Saiba mais aqui.
Pré-busca do JobScheduler - O JobScheduler agora tenta prever quando ocorrerá o próximo lançamento do app e executa todas as tarefas de pré-busca associadas antes desse lançamento. Se você usa tarefas de pré-busca, faça o teste para confirmar se elas estão funcionando conforme o esperado. Saiba mais aqui.
Além disso, lembre-se de testar a compatibilidade de bibliotecas e SDKs nos apps. Caso você encontre algum problema, tente atualizar para a versão mais recente do SDK e da biblioteca ou peça ajuda ao desenvolvedor.
Depois de publicar a versão compatível de um app atual, você pode dar início ao processo de atualização do targetSdkVersion do app. Revise as mudanças de comportamento para apps segmentados para o Android 13 e use o framework de compatibilidade para ajudar na detecção rápida de problemas. Estas são algumas das mudanças que você deve testar (aplicáveis apenas aos apps com targetSdkVersion definido como API 33 ou posterior):
Permissões para dispositivos nas proximidades para Wi-Fi - Os apps que gerenciam as conexões de um dispositivo a pontos de acesso próximos devem usar uma nova permissão em tempo de execução NEARBY_WIFI_DEVICES para operações de Wi-Fi, como busca, sem a necessidade de acessar a localização do dispositivo. Algumas APIs de Wi-Fi exigem que o app tenha essa nova permissão. Saiba mais aqui.
Permissões granulares de mídia - Para apps segmentados para o Android 13 que leem arquivos de mídia em armazenamento de dados comum, você deve solicitar uma ou mais das novas permissões granulares, em vez da permissão READ_EXTERNAL_STORAGE. Saiba mais aqui.
Mudanças de permissão para sensores corporais - O Android 13 introduz o acesso "durante o uso" para sensores corporais. Os apps que precisam acessar informações de sensores corporais em segundo plano devem declarar uma nova permissão BODY_SENSORS_BACKGROUND. Saiba mais aqui.
Filtros de intents que bloqueiam intents não correspondentes - Os apps que enviam um intent para um componente exportado de outro app segmentado para o Android 13 (API 33) ou posterior agora devem fazer a correspondência com um filtro de intent no app receptor. Saiba mais aqui.
Controles de mídia derivados do PlaybackState - O Android 13 deriva mais controles de mídia de ações PlaybackState para apresentar um conjunto mais completo de controles consistentes nos vários tipos de dispositivo. Certifique-se de que os apps possam lidar com essas mudanças. Saiba mais aqui.
Suporte a tablets e telas grandes
O Android 13 aprimora as otimizações para tablets introduzidas no 12L. Portanto, como parte do processo de teste, garanta que a aparência do app seja a melhor possível em tablets e outros dispositivos de tela grande. Para testar o app com os recursos para telas grandes, configure um emulador Android no Android Studio ou use um dispositivo de tela grande de nossos parceiros do Android 13 Beta. Veja algumas áreas que você deve analisar:
Interação da barra de tarefas - Verifique a resposta do app ao visualizá-lo com a nova barra de tarefas em telas grandes. Verifique se a IU do app não é cortada nem bloqueada pela barra de tarefas. Saiba mais aqui.
Modo de várias janelas - O modo de várias janelas agora é ativado por padrão para todos os apps, seja qual for a configuração, para garantir que o app consiga lidar com a tela dividida de maneira apropriada. Você pode fazer um teste arrastando e soltando o app no modo de tela dividida e ajustando o tamanho da janela. Saiba mais aqui.
Melhor experiência de compatibilidade - Se o app ainda não for otimizado para uso em tablets, por exemplo, se usar uma orientação fixa ou não for redimensionável, verifique como ele reage aos ajustes no modo de compatibilidade, como o letterboxing. Saiba mais aqui.
Projeção de mídia - Verifique como os apps que usam projeção de mídia respondem durante a reprodução, o streaming ou a transmissão de mídia em telas grandes. Não se esqueça de considerar também as mudanças de postura nos dispositivos dobráveis. Saiba mais aqui.
Visualização da câmera - Nos apps de câmera, verifique como a IU de visualização da câmera responde a telas grandes quando o app fica limitado a uma parte da tela no modo de tela dividida ou de várias janelas. Verifique também a resposta do app diante de uma mudança na postura de um dispositivo dobrável. Saiba mais aqui.
Leia mais a respeito dos recursos para tablets no Android 13 e dos testes a serem feitos aqui.
Primeiros passos com o Android 13!
A versão Beta de hoje tem tudo o que você precisa para testar apps e experimentar os recursos do Android 13. Basta registrar seu dispositivo Pixel para receber a atualização OTA. Para começar, configure o SDK do Android 13.
Você também pode testar apps com o Android 13 Beta nos dispositivos de vários de nossos parceiros. Visite android.com/beta para ver a lista completa de parceiros, com links para os respectivos sites, que fornecem detalhes dos dispositivos com suporte e das versões Beta, começando com a Beta 1. Os parceiros serão responsáveis por seus próprios registros e pelo suporte e fornecerão as atualizações Beta diretamente a você. Para testes ainda mais abrangentes, você pode experimentar o Android 13 Beta 3 em imagens GSI do Android e, se não tiver um dispositivo, pode testar no Android Emulator.
Veja todos os detalhes sobre o Android 13 no site para desenvolvedores Android 13.
Apresentação do Flutter 3
O ápice de nossa jornada para o desenvolvimento de IU multiplataforma para telefones, computadores e a Web.
É com grande prazer que anunciamos o lançamento do Flutter 3 como parte da palestra de abertura do Google I/O. O Flutter 3 completa nosso roteiro de transformação de um framework para dispositivos móveis para um framework multiplataforma, com a disponibilidade do suporte a apps para computadores com macOS e Linux, além de melhorias na integração com o Firebase, novos recursos de produtividade e desempenho e suporte ao Apple Silicon.
A jornada até o Flutter 3
O Flutter começou como uma tentativa de revolucionar o desenvolvimento de apps, combinando o modelo de desenvolvimento iterativo da Web com a renderização gráfica acelerada por hardware e o controle no nível do pixel, que antes eram uma exclusividade dos jogos. Nos últimos quatro anos desde o Flutter 1.0 Beta, temos expandido gradualmente essas bases, adicionando novas funcionalidades ao framework e novos widgets, uma integração maior com as plataformas subjacentes, uma biblioteca completa de pacotes e muitas melhorias de desempenho e ferramentas.
À medida que o produto amadureceu, mais de vocês começaram a criar apps com ele. Hoje, já são mais de 500 mil apps publicados com o Flutter. Análises de empresas de pesquisa, como a data.ai, e depoimentos públicos mostram que o Flutter é usado por uma ampla lista de clientes em muitos segmentos: de apps sociais, como o WeChat, até os financeiros e bancários, como o Betterment e o Nubank; de apps de comércio, como o SHEIN e o trip.com, até os de estilo de vida, como o Fastic e o Tabcorp; de aplicativos Companion, como o My BMW, a instituições públicas, como o governo brasileiro.
Os desenvolvedores nos dizem que o Flutter ajuda a criar apps lindos com mais rapidez e para mais plataformas. Em nosso estudo mais recente com os usuários:
91% dos desenvolvedores concordaram que o Flutter reduziu o tempo de criação e publicação de apps.
85% dos desenvolvedores concordaram que o Flutter tornou seus apps mais bonitos do que antes.
85% concordaram que ele lhes permitiu publicar apps para mais plataformas do que antes.
Em uma postagem recente de blog da Sonos sobre sua experiência de configuração reformulada, eles enfatizaram o segundo desses itens.
"Não é um exagero dizer que o [Flutter] desbloqueou um nível premium diferente de qualquer coisa que nossa equipe já havia criado. O mais importante para nossos projetistas é que a facilidade com que novas IUs podem ser criadas significa que nossa equipe gasta menos tempo dizendo "não" a especificações e mais tempo iterando sobre elas. Se isso parecer útil, recomendamos experimentar o Flutter. Nós estamos felizes por termos feito isso."
Hoje, apresentamos o Flutter 3, que é o ápice de nossa jornada para preencher as plataformas suportadas pelo Flutter. Com o Flutter 3, você pode criar lindas experiências para seis plataformas a partir de uma única base de código, o que dá aos desenvolvedores uma produtividade inigualável e permite que as startups tragam novas ideias para o mercado como um todo desde o primeiro dia.
Nas versões anteriores, complementamos o iOS e o Android com suporte à Web e ao Windows, e agora o Flutter 3 adiciona o suporte estável a apps para o macOS e o Linux. A adição de suporte a plataformas requer mais do que a renderização de pixels: ela inclui novos modelos de entrada e interação, suporte à compilação e criação, acessibilidade e internacionalização e integração específica de plataforma. Nosso objetivo é dar a você a flexibilidade para tirar o máximo proveito do sistema operacional subjacente e, ao mesmo tempo, compartilhar toda a IU e a lógica que você quiser.
No macOS, investimos no suporte ao Intel e ao Apple Silicon com o suporte a binários universais, que permite que os apps incluam executáveis nativos nas duas arquiteturas. No Linux, a Canonical e a Google colaboraram para oferecer uma opção altamente integrada e sofisticada para o desenvolvimento.
Um ótimo exemplo de como o Flutter habilita experiências lindas em computadores é o Superlist, cuja versão Beta está sendo lançada hoje. O Superlist oferece colaboração turbinada por meio de um novo app que combina listas, tarefas e conteúdo livre em uma nova abordagem de lista de tarefas e planejamento pessoal. A equipe do Superlist escolheu o Flutter por sua capacidade de proporcionar uma experiência de marca avançada e rápida para computadores, e achamos que o progresso deles até o momento demonstra por que essa foi uma ótima escolha.
O Flutter 3 também aprimora muitos dos recursos básicos, com desempenho melhor, suporte ao Material You e atualizações de produtividade.
Além do trabalho mencionado acima, nesta versão o Flutter é totalmente nativo no Apple Silicon para desenvolvimento. Embora seja compatível com dispositivos Apple com tecnologia M1 desde seu lançamento, o Flutter agora tira total proveito do suporte do Dart ao Apple Silicon, permitindo uma compilação muito mais rápida em dispositivos M1 e o suporte a binários universais para apps macOS.
Nosso trabalho para o Material Design 3 está praticamente concluído nesta versão, permitindo que os desenvolvedores se beneficiem de um sistema de design adaptável e multiplataforma que oferece esquemas de cores dinâmicos e componentes visuais atualizados:
Nossa postagem do blog técnico detalhado fala mais sobre essas e muitas outras novidades do Flutter 3.
O Flutter conta com o Dart, uma linguagem portável de alta produtividade para o desenvolvimento multiplataforma. Nosso trabalho no Dart neste ciclo inclui novos recursos de linguagem que reduzem o código boilerplate e auxiliam com capacidade de leitura, suporte experimental a RISC-V, uma ferramenta de inspeção atualizada e nova documentação. Para saber mais detalhes sobre todas as novas melhorias do Dart 2.17, confira o blog dedicado.
Firebase e Flutter
É claro que a criação de um app requer mais do que um framework de IU. Os editores de apps precisam de um pacote abrangente de ferramentas para ajudá-los a criar, lançar e operar os apps, incluindo serviços como autenticação, armazenamento de dados, funções de nuvem e testes de dispositivos. Vários serviços dão suporte ao Flutter, incluindo Sentry, AppWrite e AWS Amplify.
A oferta da Google para serviços de apps é o Firebase, e estudos comparativos com desenvolvedores realizados pela SlashData demonstram que 63% dos desenvolvedores Flutter usam o Firebase em seus apps. Por isso, nas últimas versões, temos trabalhado com o Firebase para expandir e integrar o Flutter com perfeição. Isso incluiu levar os plug-ins do Firebase para Flutter até a versão 1.0, adicionando documentação e ferramentas melhores e novos widgets, como o FlutterFire UI, que fornece aos desenvolvedores uma IU reutilizável para telas de autorização e perfil.
Hoje, anunciamos a evolução da integração Flutter/Firebase como uma peça central e totalmente suportada da oferta do Firebase. Estamos transferindo o código-fonte e a documentação para o repositório e o site principais do Firebase, e você pode ter certeza de que evoluiremos o suporte do Firebase para o Flutter lado a lado com o Android e o iOS.
Além disso, fizemos grandes melhorias para dar suporte a apps Flutter usando o Crashlytics, o conhecido serviço de relatórios de erros em tempo real do Firebase. Com as atualizações do plug-in Flutter Crashlytics, você agora pode rastrear erros fatais em tempo real e usar o mesmo conjunto de recursos disponível para outros desenvolvedores iOS e Android. Isso inclui importantes alertas e métricas, como "usuários livres de falhas", que ajudam você a estar sempre a par da estabilidade de um app. O pipeline de análise do Crashlytics foi atualizado para melhorar o armazenamento em cluster de falhas do Flutter, agilizando a triagem, a priorização e a correção de problemas. E, por último, otimizamos o processo de configuração do plug-in para que ele exija apenas algumas etapas para funcionar com o Crashlytics diretamente pelo código do Dart.
Casual Games Toolkit do Flutter
Para a maioria dos desenvolvedores, o Flutter é um framework de apps. Mas há também uma comunidade cada vez maior voltada para o desenvolvimento de jogos casuais que se beneficia do suporte gráfico acelerado por hardware fornecido pelo Flutter, juntamente com mecanismos de jogos de código aberto, como o Flame. Queremos facilitar as coisas para os desenvolvedores de jogos casuais e, por isso, anunciamos hoje no I/O o Casual Games Toolkit, que fornece um starter kit de modelos e práticas recomendadas, além de créditos para anúncios e serviços em nuvem.
Embora o Flutter não seja projetado para jogos de ação em 3D de alta intensidade, até mesmo alguns desses jogos se voltaram para o Flutter para a IU fora do jogo, incluindo títulos populares como o PUBG Mobile, que têm centenas de milhões de usuários. E, para o I/O, queríamos ver até onde podíamos levar a nossa tecnologia. Por isso, criamos um jogo de fliperama divertido, habilitado pelo Firebase e com o suporte à Web do Flutter. O I/O Pinball traz uma mesa personalizada, criada com base em quatro dos mascotes favoritos do Google, o Dash do Flutter, o Sparky do Firebase, o robô Android e o dinossauro do Chrome, e que permite competir com outros usuários. Achamos que essa é uma maneira divertida de demonstrar a versatilidade do Flutter.
Algo que amamos no Flutter é que ele não é um produto apenas do Google. É um produto "de todos". Código aberto significa que todos podemos participar e ter interesse no sucesso, seja contribuindo com novo código ou documentação, criando pacotes que dão novos superpoderes ao framework central, escrevendo livros e cursos de treinamento que ensinam outras pessoas ou ajudando a organizar eventos e grupos de usuários.
Para mostrar o melhor da comunidade, patrocinamos recentemente um desafio Puzzle Hack em colaboração com o DevPost, oferecendo aos desenvolvedores a chance de demonstrar suas habilidades com a repaginação do quebra-cabeça deslizante clássico com o Flutter. Essa acabou sendo uma demonstração fantástica de como a Web, os computadores e os dispositivos móveis se unem: agora, todos podemos jogar on-line ou por meio das lojas.
Elaboramos este vídeo para mostrar algumas de nossas participações favoritas e os ganhadores dos prêmios, e achamos que você vai gostar: