Desenvolvimento

21 mai, 2018

O que há de novo no Android P Beta

Publicidade

Artigo de Dave Burke, publicado originalmente pelo Android Developers Blog. A tradução foi feita pela Redação iMasters com autorização.

***

Divulgamos a versão beta do Android P – a próxima versão do Android. O Android P coloca a IA no centro do sistema operacional e se concentra em experiências inteligentes e simples. Você pode ler mais sobre os novos recursos de usuário aqui.

Para os desenvolvedores, o Android P beta oferece várias maneiras de aproveitar esses novos conhecimentos, especialmente quando se trata de aumentar o envolvimento com seus aplicativos.

Você pode obter a versão beta do Android P em dispositivos Pixel inscrevendo-se aqui. E graças ao Project Treble, agora você pode obter a versão beta dos principais dispositivos de nossos parceiros – Essential, Nokia, Oppo, Sony, Vivo e Xiaomi, com outros a caminho.

Visite android.com/beta para acessar a lista completa de dispositivos e detalhes sobre como obter o Android P beta no seu dispositivo. Para começar a desenvolver com o Android P beta, visite developer.android.com/preview.

Um smartphone mais inteligente, com machine learning no núcleo

O Android P torna o smartphone mais inteligente, ajudando-o a aprender e a se adaptar ao usuário. Seus aplicativos podem aproveitar as informações mais recentes sobre inteligência de máquina para ajudar você a alcançar mais usuários e oferecer novos tipos de experiências.

Adaptive Battery

A bateria é a prioridade número um que ouvimos dos usuários de telefones celulares, independentemente do dispositivo que estão usando. No Android P, estabelecemos uma parceria com a DeepMind em um novo recurso que chamamos de Adaptive Battery (bateria adaptativa), que otimiza a forma como os aplicativos usam a bateria.

A Adaptive Battery usa o machine learning para priorizar o acesso aos recursos do sistema para os aplicativos com que o usuário mais se importa. Ele coloca os aplicativos em execução em grupos com restrições diferentes usando quatro novos “App Standby buckets” que variam de “active” a “rare”. Os aplicativos alterarão os intervalos ao longo do tempo, e os aplicativos que não estiverem no bloco “active”, terão restrições em: tarefas, alarmes, rede e Firebase Cloud Messages de alta prioridade.

Se o seu aplicativo for otimizado para Doze, App Standby e Background Limits, a Adaptive Battery deve funcionar bem para você, imediatamente. Recomendamos que você teste seu aplicativo em cada um dos quatro intervalos. Confira a documentação para os detalhes.

App Actions

As App Actions são uma nova maneira de aumentar a visibilidade do seu aplicativo para os usuários quando eles iniciam suas tarefas. Elas colocam os principais recursos do seu aplicativo na frente dos usuários como sugestões para lidar com suas tarefas, desde os principais pontos de contato do sistema, como Launcher e Smart Text Selection, Google Play, Google Search pp e Assistant.

As Actions usam machine learning para exibir apenas os aplicativos certos para os usuários com base em seu contexto ou interações recentes. Como as Actions destacam seu aplicativo onde e quando ele é mais relevante, elas são uma ótima maneira de alcançar novos usuários e se engajar novamente com os usuários existentes.

Para suportar as App Actions, basta definir os recursos do seu aplicativo como intenções semânticas. As App Actions usam o mesmo catálogo de intenções comuns que as Actions Conversacionais para o Google Assistant, que surgem em caixas de som ativadas por voz, telas inteligentes, carros, TVs, fones de ouvido e muito mais. Não há superfície de API necessária para App Actions, portanto, elas funcionarão em qualquer versão compatível da plataforma Android.

As Actions estarão disponíveis em breve para que os desenvolvedores possam testar; inscreva-se aqui se você quiser ser notificado.

Slices

Juntamente com App Actions, apresentamos o Slices, uma nova maneira de seus aplicativos fornecerem conteúdo remoto aos usuários. Com o Slices, você pode exibir uma interface de usuário rica e com templates em lugares como Google Search e Assistant. Slices são interativos com suporte para ações, toggles, sliders, rolagem de conteúdo e muito mais.

São uma ótima maneira de engajar os usuários, e queremos que eles estejam disponíveis o mais amplamente possível. Adicionamos suporte para a plataforma no Android P e criamos as APIs e os templates de desenvolvedor no Android Jetpack, nosso novo conjunto de bibliotecas e ferramentas para criar ótimos aplicativos. Por meio do Jetpack, sua implementação do Slices pode segmentar usuários até o Kitkat – em 95% dos dispositivos Android ativos. Também poderemos atualizar os templates regularmente para suportar novos casos de uso e interações (como entrada de texto).

Confira o guia de primeiros passos para aprender a criar com Slices – você pode usar a ferramenta SliceViewer para ver como seus Slices se parecem. Com o tempo, planejamos expandir o número de lugares em que seus Slices podem aparecer, incluindo exibição remota em outros aplicativos.

Smart Reply em notificações

O recurso Smart Reply no Gmail e na caixa de entrada são excelentes exemplos de como a inteligência de máquina pode transformar positivamente uma experiência de aplicativo. No Android P, trouxemos Smart Replies para notificações com uma API para permitir que você forneça essa otimização a seus usuários. Para facilitar o preenchimento de respostas em suas notificações, você poderá em breve usar o ML Kit – consulte developers.google.com/mlkit para obter detalhes.

Text Classifier

No Android P, ampliamos os modelos ML que identificam entidades em conteúdo ou entrada de texto para suportar mais tipos, como datas e números de voo, e disponibilizamos essas melhorias para os desenvolvedores por meio da API TextClassifier.

Também estamos atualizando a API do Linkify, que cria automaticamente links para aproveitar esses modelos de TextClassification, e enriquecemos as opções que o usuário tem para ações rápidas de acompanhamento. Os desenvolvedores terão opções adicionais de vincular qualquer uma das entidades reconhecidas pelo serviço TextClassifier. O Smart Linkify tem melhorias significativas na exatidão e na precisão de detecção e desempenho.

Melhor ainda, os modelos agora são atualizados diretamente do Google Play, para que seus aplicativos aproveitem as melhorias no modelo usando as mesmas APIs. Depois que os modelos atualizados são instalados, todo o reconhecimento da entidade acontece no dispositivo e os dados não são enviados pela rede.

Simplicidade

Damos ênfase especial à simplicidade no Android P, desenvolvendo a UI do Android para otimizar e aprimorar as tarefas do usuário. Para os desenvolvedores, as alterações ajudam a melhorar a maneira como os usuários encontram, usam e gerenciam seus aplicativos.

Nova navegação do sistema

Estamos introduzindo uma nova navegação do sistema no Android P, que oferece aos usuários acesso mais fácil à página inicial, Overview e Assistant a partir de um único botão em todas as telas. A nova navegação simplifica a multitarefa e torna a descoberta de aplicativos relacionados muito mais fácil.

No Overview, os usuários têm uma visão muito maior do que estavam fazendo quando deixaram cada aplicativo, facilitando muito a visualização e a retomada da atividade. O Overview também fornece acesso a pesquisas, aplicativos previstos e App Actions, e leva os usuários a todos os aplicativos com outro swipe.

Text Magnifier

No Android P, também adicionamos um novo widget Magnifier, projetado para facilitar a seleção de texto e a manipulação do cursor de texto no texto. Por padrão, as classes que estendem o TextView suportam automaticamente o magnifier, mas você pode usar a API Magnifier para anexá-la a qualquer View personalizada, o que a abre para uma variedade de usos.

Restrições de background

Estamos tornando simples para os usuários identificarem e gerenciarem aplicativos que usam bateria no background. A partir do nosso trabalho no Android Vitals, o Android pode detectar comportamentos de aplicativos que drenam a bateria, como bloqueios de vigília excessivos e outros. Agora, no Android P, o Battery Settings lista esses aplicativos e permite que os usuários restrinjam suas atividades no background com um único toque.

Quando um aplicativo é restrito, seus trabalhos no background, alarmes, serviços e acesso à rede são afetados. Para ficar de fora da lista, preste atenção ao seu painel do Android Vitals no Play Console, que pode ajudar você a entender o desempenho e os problemas com a bateria.

As restrições de background garantem comportamentos básicos que os desenvolvedores podem criar para dispositivos e fabricantes. Embora os fabricantes de dispositivos possam adicionar restrições ao conjunto principal, eles devem fornecer controles de usuário por meio de Battery Settings.

Adicionamos uma API padrão para permitir que os aplicativos verifiquem se eles são restritos, bem como novos comandos do ADB para permitir que você aplique restrições manualmente aos seus aplicativos para testes. Veja a documentação para detalhes. Também planejamos adicionar métricas relacionadas a restrições no seu painel do Android Vitals do Play Console no futuro.

Áudio aprimorado com Dynamics Processing

O Android P introduz um novo Dynamics Processing Effect no Audio Framework que permite aos desenvolvedores melhorarem a qualidade de áudio. Com o Dynamics Processing, você pode isolar frequências específicas e diminuir o volume ou aumentar os sons suaves para melhorar a qualidade acústica de sua aplicação. Por exemplo, seu aplicativo pode melhorar o som de alguém que fala em voz baixa em um ambiente barulhento, distante ou acusticamente desafiante.

A API Dynamics Processing fornece acesso a um efeito de processamento de dinâmica de várias faixas e várias bandas que inclui um pré-equalizador, um compressor multibanda, um pós-equalizador e um limitador vinculado.

Ela permite modificar o áudio que sai dos dispositivos Android e otimizá-lo de acordo com as preferências do ouvinte ou com as condições do ambiente. O número de bandas e estágios ativos é totalmente configurável, e a maioria dos parâmetros pode ser controlada em tempo real, como ganhos, tempos de ataque/liberação, limites, etc. Para ver o que você pode fazer com o Dynamics Processing Effect, consulte a documentação.

Segurança

Prompt biométrico

O Android P fornece uma experiência de autenticação padrão em toda a crescente gama de sensores biométricos. Os aplicativos podem usar a nova API BiometricPrompt em vez de exibir seus próprios diálogos de autenticação biométrica. Essa nova API substitui a API FingerprintDialog adicionada no DP1. Além de suportar impressões digitais (incluindo sensores em exibição), ela suporta autenticação de Face e Iris, proporcionando uma experiência consistente em todo o sistema.

Há uma única permissão USE_BIOMETRIC que abrange todos os dados biométricos suportados pelo dispositivo. O FingerprintManager e a permissão USE_FINGERPRINT correspondente foram suspensos, por isso mude para BiometricPrompt o mais rápido possível.

Protected Confirmation

O Android P introduz o Android Protected Confirmation, que usa o Trusted Execution Environment (TEE) para garantir que uma determinada string de prompt seja mostrada e confirmada pelo usuário. Somente após a confirmação do usuário bem-sucedido, o TEE assinará a string de prompt que o aplicativo pode verificar.

Proteção mais forte para chaves privadas

Adicionamos o StrongBox como um novo tipo de KeyStore, fornecendo suporte para API para dispositivos que fornecem armazenamento de chaves em hardware resistente a violações com CPU isolada, RAM e flash seguro. Você pode definir se suas chaves devem ser protegidas por um chip de segurança StrongBox no seu KeyGenParameterSpec.

Android P Beta

Levar uma nova versão do Android para os usuários exige um esforço conjunto entre a Google, fabricantes de silício (SM), fabricantes de dispositivos (OEMs) e operadoras. O processo é tecnicamente desafiador e pode levar tempo. Para facilitar, lançamos o Project Treble no ano passado como parte do Android Oreo. Desde então, trabalhamos com parceiros na apresentação inicial e agora estamos vendo a prova do que o Treble pode fazer.

Anunciamos no dia 8 de maio que seis dos nossos principais parceiros se juntarão a nós para lançar o Android P Beta em seus dispositivos: Sony Xperia XZ2, Xiaomi Mi Mix 2S, Nokia 7 Plus, Oppo R15 Pro, Vivo X21UD e X21 e Essential PH 1. Estamos convidando early adopters e desenvolvedores de todo o mundo a experimentarem o Android P Beta em qualquer um desses dispositivos, bem como no Pixel 2, no Pixel 2 XL, no Pixel e no Pixel XL.

Você pode ver a lista completa de parceiros compatíveis e dispositivos Pixel em android.com/beta. Para cada dispositivo, você encontrará especificações e links para o site dedicado do fabricante para downloads, suporte e para relatar problemas. Para dispositivos Pixel, agora você pode inscrever seu dispositivo no programa Android Beta e receber automaticamente o último Android P Beta over-the-air.

Experimente o Android P Beta no seu dispositivo favorito hoje e nos dê seu feedback! Confira nosso texto sobre Faster Adoption com Project Treble para mais detalhes.

Torne seus aplicativos compatíveis

Com mais usuários começando a usar o Android P Beta em seus dispositivos, é a hora de testar seus aplicativos em termos de compatibilidade, resolver problemas e publicar uma atualização o mais rápido possível. Veja o guia de migração para orientações e uma linha de tempo recomendada.

Para testar a compatibilidade, basta instalar seu aplicativo atual do Google Play em um dispositivo ou emulador que rode o Android P Beta e trabalhe com os fluxos de usuários. O aplicativo deve rodar e ter ótima aparência, além de lidar com as alterações de comportamento do Android P corretamente.

Em particular, preste atenção a adaptive battery, alterações nas permissões de Wi-Fi, restrições no uso da câmera e sensores de background, política SELinux mais rígida para dados de aplicativos, alterações no TLS habilitadas por padrão, e restrição Build.SERIAL.

Compatibilidade por meio de APIs públicas

É importante testar seus aplicativos para usos de interfaces não-SDK. Como observado anteriormente, no Android P, estamos iniciando um processo gradual para restringir o acesso a interfaces não-SDK selecionadas, solicitando aos desenvolvedores (incluindo equipes de aplicativos dentro do Google), que usem os equivalentes públicos.

Se os seus aplicativos estiverem usando interfaces e bibliotecas privadas do Android, você deve migrar para o uso de APIs públicas do Android SDK ou NDK. O primeiro developer preview exibia um toast warning para usos de interfaces não-SDK. A partir do Android P Beta, os usos de interfaces não-SDK que não são isentas gerarão erros nos seus aplicativos, então agora você receberá exceções, em vez de um aviso.

Para ajudar você a identificar o uso reflexivo de APIs que não são-SDK, adicionamos dois novos métodos ao StrictMode. Você pode usar detectNonSdkApiUsage() para avisar quando seu aplicativo acessar APIs não-SDK por meio de reflexão ou JNI, e você pode usar permitNonSdkApiUsage() para suprimir avisos de StrictMode para esses acessos. Isso pode ajudar você a entender o uso de APIs não-SDK do seu aplicativo. Mesmo que as APIs estejam isentas no momento, é melhor planejar o futuro e eliminar o uso delas.

Nos casos em que não houver uma API pública que atenda ao seu caso de uso, informe-nos imediatamente. Queremos ter certeza de que o lançamento inicial afeta apenas as interfaces nas quais os desenvolvedores podem migrar facilmente para alternativas públicas. Mais sobre as restrições aqui.

Teste com recorte de exibição

Também é importante testar seu aplicativo com um recorte de exibição. Agora você pode usar vários de nossos dispositivos parceiros que rodam o Android Beta para garantir que seu aplicativo tenha a melhor aparência com um recorte de exibição. Você também pode usar o suporte de recorte emulado, disponível em qualquer dispositivo Android P por meio das opções de desenvolvedor.

Começando com o Android P

Quando você estiver pronto, mergulhe no Android P e conheça os muitos novos recursos e APIs que você pode aproveitar em seus aplicativos. Para facilitar a exploração das novas APIs, confira os relatórios de diferenças da API (API 27->DP2, DP1->DP2) junto com a referência da API Android P. Visite o site Developer Preview para obter detalhes e confira também esse vídeo que destaca as novidades para os desenvolvedores no Android P Beta.

Para começar a usar o Android P, faça o download do SDK e das ferramentas do Developer Preview SDK no Android Studio 3.1 ou use a versão mais recente do Android Studio 3.2. Se você não tiver um dispositivo que rode o Android P Beta, poderá usar o emulador do Android para rodar e testar seu aplicativo.

Como sempre, seu feedback é fundamental, então, por favor, deixe-nos saber o que você pensa – quanto mais cedo ouvirmos de você, mais feedback seu poderemos integrar. Quando você encontrar problemas, informe-os aqui. Temos listas de produtos independentes para problemas de plataforma de arquivamento, problemas de compatibilidade de aplicativos e problemas de SDK de terceiros.

***

Este artigo é do Android Developers Blog. Ele foi escrito por Dave Burke. A tradução foi feita pela Redação iMasters com autorização. Você pode acessar o original em: https://android-developers.googleblog.com/2018/05/whats-new-in-android-p-beta.html