Postado por Akua Prempeh, Developer Marketing
Às vezes, a jornada de criação e lançamento de um app pode ser semelhante a escalar uma montanha: o caminho pode ser cheio de obstáculos e trabalho árduo. No Firebase, nossa meta é facilitar essa jornada fornecendo as ferramentas e os recursos de que você precisa para criar e desenvolver apps que os usuários adorem.
É por isso que todos os anos reunimos a comunidade no Firebase Summit para compartilhar grandes atualizações do produto, responder a perguntas importantes e fornecer treinamento prático para que você possa aproveitar nossa plataforma ao máximo. Este ano não será diferente: temos o grande prazer de anunciar que o Firebase Summit está de volta como um evento virtual que acontece no dia 10 de novembro de 2021 às 9h30 (horário do Pacífico). Também temos algumas excelentes atividades que ocorrerão antes do Firebase Summit, então continue lendo para saber o que vem por aí.
Para ajudar você a se preparar para o Firebase Summit e aprofundar seu conhecimento de nossos produtos e serviços, lançaremos a cada semana um novo conjunto de programas de aprendizado que conduzirão até o evento principal. Estes programas consistirão em codelabs fáceis de seguir, artigos, vídeos interativos e testes. Depois de concluir um programa de aprendizado, você também terá a oportunidade de ganhar um novíssimo selo de desenvolvedor do Google. O primeiro programa semanal será lançado em 13 de outubro. Confira mais detalhes no site do evento.
Uma das melhores formas de aprender a usar o Firebase é com outros desenvolvedores. No dia 3 de novembro, teremos palestras da comunidade nas quais você terá a oportunidade de ouvir os especialistas do Google Developers falando sobre tópicos como a criação de apps empresariais com o Firebase, a implementação de modelos de autorização e muito mais. Marque a data em sua agenda e visite o site do evento, onde destacaremos essas sessões.
Os programas de aprendizado e as palestras da comunidade acontecem ao longo do período que antecede o Firebase Summit, no dia 10 de novembro. O evento tem início às 9h30 (horário do Pacífico), com uma palestra de abertura repleta de informações importantes. Junte-se a nós para saber como o Firebase pode ajudar a acelerar o desenvolvimento de apps, executar apps com confiança e dimensionar seu negócio com facilidade. Após a palestra de abertura, você pode fazer perguntas no bate-papo e receber respostas ao vivo da equipe do Firebase durante o #AskFirebase. Também teremos novas sessões técnicas sob demanda referentes aos nossos mais recentes anúncios, além de demonstrações que podem ser assistidas no horário que for mais conveniente para você.
Postado pela equipe do Android
O Android Dev Summit está de volta! Dentro de apenas algumas semanas, nos dias 27 e 28 de outubro, junte-se a nós para conhecer as últimas atualizações do desenvolvimento em Android. O tema deste ano é Apps excelentes em todos os dispositivos, e você ficará sabendo sobre ferramentas de desenvolvimento, APIs e tecnologias que ajudam a aumentar a produtividade e a criar apps melhores que funcionam em bilhões de dispositivos, incluindo tablets, wearables e muito mais.
A programação tem início às 10h (horário do Pacífico) do dia 27 de outubro com o The Android Show: uma palestra de abertura técnica na qual você ficará sabendo sobre todas as últimas notícias e atualizações para desenvolvedores Android. Em seguida, teremos mais de 30 sessões sobre vários tópicos técnicos relacionados ao desenvolvimento em Android. E mais: reunimos a equipe de criação do Android para responder ao vivo a todas as suas perguntas no #AskAndroid. O Android Dev Summit deste ano será uma oportunidade de conectar-se virtualmente com desenvolvedores Android do mundo todo.
Quer saber mais? Inscreva-se aqui para receber atualizações por nossa newsletter.
Postado por Mike Yerou, engenheiro de software, Google Play
O gerenciamento de usuários é uma responsabilidade importante em empresas de todos os portes. O desafio é garantir que todos os membros da equipe tenham o conjunto de permissões certo para cumprir com suas responsabilidades sem expor demasiadamente dados de negócios não relacionados.
Ao longo dos anos, os desenvolvedores têm pedido por ferramentas melhores de gerenciamento de usuários e permissões no Play Console para ajudar a lidar de forma eficiente e confiante com o crescimento. Nós fizemos exatamente isso com o Google Play Console reformulado. Organizamos a interface para que você possa encontrar o que deseja com mais facilidade e adicionamos recursos para ajudar você a gerenciar suas equipes de forma mais simples.
A página de usuários e permissões foi reformulada para que os administradores possam gerenciar equipes com mais facilidade.
Os nomes e as descrições das permissões foram reescritos para facilitar a compreensão do que você permite (ou não) que os usuários façam. Também ficou mais fácil diferenciar as permissões em nível de conta e de app.
Os novos recursos de pesquisa, filtragem e edição em lote permitem visualizar e tomar medidas em um subconjunto de usuários com mais rapidez.
Por fim, para facilitar a auditoria, adicionamos uma funcionalidade de exportação para CSV para os usuários com contas de desenvolvedor.
Novas solicitações de acesso
Embora os administradores definam permissões de forma genérica aos usuários, vocês nos disseram que seria útil permitir que os usuários solicitassem as permissões necessárias para seus fluxos de trabalho. Bem, agora eles podem. Os administradores ainda precisam aprovar a solicitação, mas capacitar os usuários a solicitar as permissões exatas de que necessitam poupa muito tempo dos administradores.
No Play Console, os usuários agora veem um botão "Request access" ao lado de cada ação com suporte, mas que não estava ativada devido à falta de permissões. Para solicitar a permissão, os usuários devem incluir uma explicação da necessidade para o administrador. Os administradores são notificados pela Inbox e podem conceder a permissão para o usuário e o app específicos, rejeitá-la uma vez ou rejeitá-la permanentemente para evitar que os usuários usem o recurso indevidamente. Atualmente, essa função só tem suporte para permissões de apps.
Agora, os membros da equipe podem solicitar acesso a permissões específicas.
Novos grupos de permissões
Quando as empresas atingem um determinado tamanho, não é incomum que mais de uma pessoa tenha a mesma função, como no caso de gerentes de projeto ou designers. Quando isso acontece, os administradores podem acabar atribuindo o mesmo conjunto de permissões várias e várias vezes.
Para poupar tempo, recentemente introduzimos os grupos de permissões. Os administradores agora podem criar um grupo com um conjunto de permissões e, quando um usuário é adicionado a um grupo, ele herda essas permissões automaticamente. Você pode até mesmo definir que as permissões desse grupo expirem após uma determinada data. Os usuários podem fazer parte de vários grupos, e esses grupos podem ter permissões sobrepostas. Esperamos que o uso dos grupos de permissões ajude a melhorar suas próprias práticas de trabalho, encoraje a delegação de tarefas e facilite o gerenciamento de usuários.
Nossa intenção é que essas novas mudanças ajudem a melhorar a produtividade dos administradores e a fazer com que suas equipes possam aproveitar ao máximo o Play Console. Para saber mais sobre o gerenciamento de permissões, confira nossa Central de Ajuda.
Postado por Dave Burke, vice-presidente de engenharia
Hoje, liberamos o código-fonte para o Android Open Source Project (AOSP) e lançamos oficialmente a mais recente versão do Android. Fique de olho, porque o Android 12 está chegando a um dispositivo perto de você, a começar pelo Pixel, nas próximas semanas, e depois nos dispositivos Samsung Galaxy, OnePlus, Oppo, Realme, Tecno, Vivo e Xiaomi, ainda este ano.
Como sempre, agradecemos o seu feedback ao longo do Android 12 Beta! Mais de 225 mil pessoas testaram nossas versões iniciais no Pixel, e nos dispositivos de nossos parceiros, e nos enviaram aproximadamente 50 mil relatórios de problemas para ajudar a melhorar a qualidade da versão. Também agradecemos os vários artigos, discussões, pesquisas e reuniões pessoais, nos quais vocês expressaram suas opiniões, além do trabalho realizado para tornar seus apps compatíveis a tempo para o lançamento de hoje. Seu suporte e suas contribuições são o que fazem do Android essa ótima plataforma para todos.
Também falaremos sobre mais detalhes relacionados ao Android 12 no Android Dev Summit deste ano, que acontece nos dias 27 e 28 de outubro. Acabamos de divulgar mais informações sobre o evento, incluindo um instantâneo das sessões técnicas sobre o Android. Continue lendo esta postagem para saber mais.
Vamos dar uma olhada no que vem por aí para os desenvolvedores com o Android 12. Não deixe de conferir o site para desenvolvedores Android 12 para ver detalhes de todos os recursos novos.
Material You - O Android 12 introduz uma nova linguagem chamada Material You que ajuda a criar apps mais bonitos e personalizados. Para levar todas as atualizações mais recentes do Material Design 3 até os apps, experimente uma versão Alfa dos componentes do Material Design e fique de olho no suporte ao Jetpack Compose, que chega em breve.
Widgets reprojetados - Atualizamos os widgets de apps para torná-los mais úteis, bonitos e detectáveis. Experimente-os com novos controles interativos, layouts responsivos para qualquer dispositivo e cores dinâmicas para criar uma aparência personalizada, porém consistente. Saiba mais aqui.
Atualizações de IU de notificação - Também atualizamos os designs de notificação para torná-los mais modernos e úteis. O Android 12 também decora as notificações personalizadas com affordances padrão para torná-las consistentes com todas as outras notificações. Saiba mais aqui.
Rolagem estendida - Para tornar a rolagem pelo conteúdo do app mais suave, o Android 12 adiciona um novo efeito de rolagem "estendida" a todos os contêineres de rolagem. Trata-se de um indicador natural de parada de rolagem que é comum a todos os apps e ao sistema. Saiba mais aqui.
Telas de apresentação de inicialização de apps - O Android 12 também introduz telas de apresentação para todos os apps. Os apps podem personalizar a tela de apresentação de várias formas, de acordo com as necessidades exclusivas da marca. Saiba mais aqui.
Desempenho de sistema melhor e mais eficiente - Reduzimos em 22% o tempo de CPU usado pelos serviços centrais do sistema e em 15% o uso de grandes núcleos. Também melhoramos os tempos de inicialização dos apps e otimizamos a E/S para acelerar o carregamento dos apps. E, para consultas de bancos de dados, melhoramos o CursorWindow em até 49 vezes para as janelas grandes.
Serviços em primeiro plano otimizados - Para melhorar a experiência dos usuários, o Android 12 impede que os apps iniciem serviços em primeiro plano enquanto estão em segundo plano. Em vez disso, os apps podem usar um novo expedited job no JobScheduler. Saiba mais aqui.
Notificações mais responsivas - A restrição de trampolins de notificação do Android 12 ajuda a reduzir a latência dos apps inicializados por meio de uma notificação. Por exemplo, o app Google Fotos agora é inicializado 34% mais rápido sem os trampolins de notificação. Saiba mais aqui.
Classe de desempenho - Classe de desempenho é um conjunto de recursos para dispositivos que dá suporte a casos de uso mais exigentes e a um conteúdo de melhor qualidade em dispositivos Android 12. Os apps podem verificar a classe de desempenho de um dispositivo em tempo de execução e se beneficiarem totalmente do desempenho do dispositivo. Saiba mais aqui.
Aprendizado de máquina acelerado - O Android 12 ajuda a tirar o máximo proveito dos aceleradores de aprendizado de máquina (ML) e sempre obter o melhor desempenho possível por meio da API Neural Networks. Agora, os drivers aceleradores de ML também são atualizáveis fora das versões da plataforma, por meio do Google Play Services, para que você possa se beneficiar dos drivers mais recentes em qualquer dispositivo compatível.
Painel de privacidade - Um novo painel nas Configurações dá aos usuários mais visibilidade de quando um app acessa dados do microfone, da câmera e de localização. Saiba mais aqui.
Localização aproximada - Os usuários têm ainda mais controle sobre seus dados de localização e podem conceder ao app acesso à localização aproximada, mesmo que ele solicite a localização precisa. Saiba mais aqui.
Indicadores de microfone e câmera - Os indicadores na barra de status informam ao usuário quando um app está usando a câmera ou o microfone do dispositivo. Saiba mais aqui.
Botões de alternância de microfone e câmera - Nos dispositivos com suporte, novos botões de alternância nas Configurações rápidas facilitam a desativação instantânea do acesso dos apps ao microfone e à câmera. Saiba mais aqui.
Permissões para dispositivos nas proximidades - O app pode usar as novas permissões para buscar e fazer o pareamento com dispositivos nas proximidades sem precisar da permissão de localização. Saiba mais aqui.
Inserção de conteúdo avançado - Uma nova API unificada permite receber conteúdo avançado na IU de qualquer fonte: área de transferência, teclado ou ação de arrastar e soltar. Para a compatibilidade com versões anteriores, adicionamos a API unificada ao AndroidX. Saiba mais aqui.
Suporte para cantos de tela arredondados - Muitos dispositivos modernos usam telas com cantos arredondados. Para entregar uma ótima UX nesses dispositivos, você pode usar novas APIs para consultar detalhes sobre os cantos e gerenciar os elementos da IU apropriadamente. Saiba mais aqui.
Suporte a imagens AVIF - O Android 12 adiciona suporte de plataforma para o formato de arquivo de imagem AV1 (AVIF, na sigla em inglês). O AVIF aproveita o conteúdo intraframe codificado da compactação de vídeo para melhorar significativamente a qualidade da imagem com o mesmo tamanho de arquivo, em comparação com formatos de imagem mais antigos, como o JPEG.
Transcodificação de mídia compatível - Para o vídeo, o formato HEVC oferece melhorias significativas de qualidade e compactação, e nós recomendamos seu suporte em todos os apps. Para os apps que não têm essa capacidade, o recurso de transcodificação de mídia compatível permite solicitar arquivos em AVC e deixar que o sistema lide com a transcodificação. Saiba mais aqui.
Mais facilidade de uso de foco, filtros de cores e outros efeitos - Novas APIs facilitam a aplicação de efeitos gráficos comuns às Visualizações e hierarquias de renderização. RenderEffect pode ser usado para aplicar foco, filtros de cores e muito mais a RenderNodes ou Visualizações. Também é possível criar um efeito de vidro congelado para o segundo plano da janela utilizando uma nova API Window.setBackgroundBlurRadius() ou usar blurBehindRadius para definir o foco de todo o conteúdo por trás de uma janela.
Experiências táteis melhores - O Android 12 expande as ferramentas que podem ser usadas para a criação de retorno tátil informativo para eventos de IU, efeitos imersivos e divertidos para jogos e háptica de concentração para produtividade. Saiba mais aqui.
Novos efeitos de câmera e recursos de sensor - Novas extensões de fornecedor permitem que os apps aproveitem os efeitos personalizados de câmera criados por fabricantes de dispositivos: bokeh, HDR, modo noturno e outros. Você também pode usar novas APIs para aproveitar totalmente os sensores de câmera de ultra-alta resolução que usam os padrões Quad/Nona Bayer. Saiba mais aqui.
Depuração melhor para falhas nativas - O Android 12 fornece informações de diagnóstico mais acionáveis para facilitar a depuração de falhas relacionadas ao NDK. Agora, os apps podem acessar arquivos de crash dump detalhados, chamados tombstones, por meio da API App Exit Reasons.
Android 12 para jogos - Com as APIs no modo de jogo, você pode reagir à seleção de perfil de desempenho dos jogadores para um jogo, como maior duração da bateria para um trajeto longo ou modo de desempenho para atingir as taxas de frame máximas. O Play as you download permitirá a busca de recursos de jogos em segundo plano durante a instalação, permitindo que os usuários comecem a jogar mais rapidamente.
Com o lançamento público de hoje do Android 12, estamos solicitando a todos os desenvolvedores Android que finalizem os testes de compatibilidade e publiquem atualizações assim que possível, a fim de proporcionar aos usuários uma transição tranquila para o Android 12.
Para testar a compatibilidade do app, basta instalá-lo em um dispositivo executando o Android 12 e passar pelos fluxos do app em busca de possíveis problemas funcionais ou de IU. Revise as mudanças de comportamento do Android 12 para todos os apps para se concentrar nas áreas do app que podem ser afetadas. Estas são algumas das principais mudanças a serem testadas:
Lembre-se de testar a compatibilidade de bibliotecas e SDKs nos apps. Caso você encontre algum problema relacionado ao SDK, tente atualizar para a versão mais recente do SDK 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 Android 12 e use o framework de compatibilidade para ajudar na detecção rápida de problemas.
O #AndroidDevSummit está de volta! Junte-se a nós nos dias 27 e 28 de outubro para conhecer as últimas atualizações do desenvolvimento em Android, incluindo o Android 12. O tema deste ano é Apps excelentes em todos os dispositivos. Participe, no final deste mês, para saber mais sobre ferramentas de desenvolvimento, APIs e tecnologias que ajudam a aumentar a produtividade e a criar apps melhores que funcionam em bilhões de dispositivos, incluindo tablets, dobráveis, wearables e muito mais.
Acabamos de divulgar mais informações sobre o evento, incluindo um instantâneo das mais de 30 sessões técnicas sobre o Android. Veja algumas dessas sessões aqui e comece a se planejar para as palestras que deseja assistir. Nas próximas semanas, solicitaremos que você compartilhe suas principais perguntas para o #AskAndroid, que serão respondidas ao vivo pela equipe durante o evento.
A programação tem início às 10h (horário do Pacífico) do dia 27 de outubro com o The Android Show, uma palestra de abertura técnica com duração de 50 minutos na qual você ficará sabendo sobre todas as últimas notícias e atualizações para desenvolvedores Android. Saiba mais e inscreva-se para receber atualizações aqui.
Este documento faz parte de uma série de artigos sobre qualidade de apps. Apresentamos a seguir uma visão geral de todos os outros artigos:
Apps e jogos evoluíram rapidamente nos últimos anos, e as expectativas dos usuários por alto desempenho aumentaram igualmente. Os usuários atuais não só exigem velocidade e desempenho, como também as recompensam. Um estudo de 2019 revelou que os sites de varejo notaram um aumento de 8% nas conversões quando reduziram em um décimo de segundo os tempos de carregamento dos sites para dispositivos móveis. E os sites de viagem elevaram as conversões em mais de 10%.
À medida que você alcança mais usuários em diferentes dispositivos, locais, versões de SO e redes, a otimização do desempenho se torna um alvo ainda mais móvel. Para entender o contexto exclusivo por trás dos problemas de desempenho, você precisa de insights acionáveis sobre o desempenho do app da perspectiva de um usuário. Com dados de desempenho que permitem gastar menos tempo apagando incêndios, você pode dedicar mais tempo para criar experiências prazerosas, sabendo que nenhum bug ou falha técnica inesperada ocorrerá.
Com dados de desempenho que permitem gastar menos tempo apagando incêndios, você pode dedicar mais tempo para criar experiências prazerosas, sabendo que nenhum bug ou falha técnica inesperada ocorrerá.
Neste artigo, exploramos alguns recursos do Monitoramento de desempenho do Firebase que podem ajudar você a ficar de olho no desempenho do app e entender a experiência do ponto de vista de um usuário.
Métricas de desempenho de apps em tempo real
Lançar um recurso novo que tenha bom desempenho para todos os usuários, independentemente de localização, dispositivo ou velocidade da rede, pode ser desafiador se você não receber as informações em tempo hábil para medir o desempenho em uma diversidade de variáveis. Quando o app apresenta desempenho insatisfatório e recebe classificações baixas, você precisa ter insights esclarecedores para proporcionar uma experiência que seja merecedora de uma avaliação de cinco estrelas.
O Monitoramento de desempenho do Firebase processa os dados de desempenho do app em tempo real para que você possa monitorar novas versões durante o desenvolvimento e no pós-lançamento. Por exemplo, você pode coletar dados de desempenho dos emuladores do Firebase ou de dispositivos virtuais do Firebase Test Lab para testar o app localmente antes do lançamento. Após o lançamento, é possível obter insights sobre métricas relacionadas a renderização de tela e solicitações de rede para saber como está o desempenho do app nos diferentes segmentos de usuário.
Ao saber como o app responde a diferentes grupos de usuários, é possível tomar medidas rapidamente para corrigir os erros e garantir que os usuários não excluam o app e encontrem outro que funcione melhor em seus dispositivos.
Painel de Monitoramento de desempenho destacando métricas em tempo real
Quadro de métricas personalizáveis
Na primeira postagem do blog desta série, destacamos algumas métricas padrão de desempenho de apps que devem ser lembradas, como tempo de inicialização do app, desempenho de renderização da tela e desempenho de rede. No entanto, às vezes, o fluxo de entrada de dados em tempo real após um lançamento importante pode ser excessivo, e identificar onde você deve se concentrar para agir pode ser uma tarefa complicada.
Com o painel de Monitoramento de desempenho reformulado, é possível personalizar o quadro de métricas de desempenho de apps para destacar as métricas mais importantes para um app. Por exemplo, se você estiver lançando atualizações de um app de compras, é possível selecionar e rastrear frames com renderização lenta nas telas de finalização da compra. Isso ajuda a garantir que os clientes desfrutem de uma experiência contínua do começo ao fim. Você também pode dividir as principais métricas por país, dispositivo, versões do app e nível de SO para detalhar ainda mais os dados de desempenho.
Ao saber com que velocidade o app responde a diferentes grupos de usuários, é possível tomar medidas para corrigir problemas de latência e garantir que os usuários não excluam o app e encontrem outro que funcione melhor em seus dispositivos.
Além disso, o Monitoramento de desempenho permite implementar rastreamentos de código personalizado, que ajudam a monitorar o desempenho do app entre dois pontos no tempo. Também é possível criar os próprios rastreamentos para capturar dados de desempenho associados a códigos específicos no app. Por exemplo, você pode usar rastreamentos de código personalizado para mensurar quanto tempo o app leva para carregar um conjunto de imagens e garantir que os gráficos não estejam causando lentidão em excesso.
Compare o desempenho entre as versões do app
Manter uma base de usuários diversificada não é fácil sem entender como segmentos de usuários específicos estão interagindo com o app, especialmente quando a experiência não está à altura. Para ter certeza de que todas as novas versões apresentem o melhor desempenho quando alcançarem um grande número de usuários, você pode usar o novo painel Monitoramento de desempenho para identificar as mudanças no desempenho do app que requerem atenção imediata.
O quadro de métricas permite o rastreamento do desempenho de métricas em várias versões. Se a versão mais recente chamar uma nova API na inicialização, você pode rastrear latências no horário de inicialização do app entre a versão mais recente e as versões anteriores. A tabela de rastreamentos é especialmente útil para entender as tendências dos rastreamentos nos intervalos de tempo selecionados. Isso significa que você não precisa mais esperar pelas avaliações da app store nem pelos tíquetes de suporte para saber quando o desempenho do app está lento.
Tabela de rastreamentos do Monitoramento de desempenho
Rastreie tendências, regressões e problemas graves
Uma das mais importantes maneiras de aumentar e engajar segmentos é lançar constantemente novos recursos e atualizações para apps. Mas qualquer mudança no código ou na configuração do app ou em qualquer uma de suas dependências traz o risco de degradar o desempenho do app ou de causar problemas na experiência do usuário. Por exemplo, se um app de comércio eletrônico faz dezenas de chamadas de API para buscar o catálogo e os detalhes dos produtos, os usuários podem ter experiências de lentidão frustrantes durante a compra.
Ao rastrear tendências e regressões com o Monitoramento de desempenho, você pode agir rapidamente nos problemas mais críticos e se prevenir contra classificações baixas na app store.
Melhore a retenção de usuários com o Monitoramento de desempenho
A GameNexa Studios, desenvolvedora de apps da Índia, agarrou uma oportunidade de investir na melhoria da qualidade de seus apps quando as vendas de anúncios foram prejudicadas pela COVID-19. Ao combinar o Monitoramento de desempenho do Firebase e o Firebase Crashlytics, a equipe obteve insights acionáveis sobre a base de usuários e melhorou em todos os aspectos a experiência com seu app mais conhecido. E, ao reduzir o número de problemas de desempenho que afetam os usuários, a GameNexa acabou impulsionando a retenção de usuários e a duração das sessões, além de aumentar as compras no app em 2,5 vezes.
Mantenha-se à frente dos problemas de desempenho e estabilidade de apps
Para proporcionar a experiência mais rápida e consistente no app que os usuários esperam, é preciso uma estratégia apoiada por ferramentas que ajudem você a agir rapidamente e corrigir problemas significativos de modo dinâmico. Com os insights e dados detalhados e acionáveis do Firebase, os desenvolvedores de apps e gerentes de produto podem tomar decisões mais inteligentes antes do lançamento, enfrentar problemas urgentes rapidamente após o lançamento de uma atualização e lançar de forma rápida e segura novos recursos que retenham os usuários.
Para começar a usar o Monitoramento de desempenho do Firebase, integre o SDK do Monitoramento de desempenho ao app e identifique as métricas mais importantes para o sucesso do app.
Postado por Peter Visontay e Bessie Jiang, engenheiros de software
Colaboradores: Inara Ramji, engenheira de software; Rodrigo Farell, designer de interação; James Kelly, gerente de produtos; Henry Chin, gerente de programas.
A maioria dos usuários passa muito tempo nos smartphones. Seja para trabalhar, jogar ou se conectar aos amigos, as pessoas costumam usar apps como o principal gateway de suas vidas digitais. Para funcionar, os apps geralmente precisam solicitar algumas permissões. Mas, com dezenas de apps em um mesmo dispositivo, pode ser complicado memorizar quais permissões você já concedeu, principalmente se você não tiver utilizado um app por um período prolongado.
No Android 11, introduzimos o recurso de redefinição automática de permissões. Ele ajuda a proteger a privacidade do usuário ao redefinir automaticamente as permissões em tempo de execução de um app, que são as permissões que exibem um prompt para o usuário quando solicitadas, caso o app não seja utilizado há meses. A partir de dezembro de 2021, expandiremos esse recurso para outros bilhões de dispositivos. O recurso será ativado automaticamente nos dispositivos com o Google Play Services que executam o Android 6.0 (API nível 23) ou posterior.
Ele será ativado por padrão para os apps segmentados para o Android 11 (API nível 30) ou posterior. No entanto, os usuários podem ativar manualmente a redefinição automática de permissões para os apps segmentados para as APIs níveis 23 a 29.
Mas o que isso significa para os desenvolvedores?
Alguns apps e permissões ficaram automaticamente isentos da revogação, como os apps administradores de dispositivos utilizados por grandes empresas e as permissões fixadas por políticas empresariais.
Se necessário, os desenvolvedores podem solicitar que os usuários impeçam o sistema de redefinir as permissões dos apps. Isso é útil em situações nas quais os usuários esperam que um app funcione principalmente em segundo plano, mesmo que não haja interação com ele. Os principais casos de uso são listados aqui.
Se o app for segmentado pelo menos para a API 30 e solicitar ao usuário que desative a redefinição automática de permissões, os desenvolvedores precisarão fazer algumas mudanças simples no código. Se o app não desativar a redefinição automática, não serão necessárias mudanças no código.
Observação: essa API destina-se apenas aos apps cujo targetSDK seja a API 30 ou posterior, porque a redefinição automática de permissões só se aplica a esses apps por padrão. Os desenvolvedores não precisam fazer nenhuma mudança se o targetSDK do app for a API 29 ou anterior.
A tabela abaixo resume a nova API multiplataforma (em comparação com a API publicada no Android 11):
Build.VERSION.SDK_INT >= Build.VERSION_CODES.R
androidx.core.content.PackageManagerCompat.getUnusedAppRestrictionsStatus()
PackageManager.isAutoRevokeWhitelisted()
Intent.ACTION_AUTO_REVOKE_PERMISSIONS
androidx.core.content.IntentCompat.createManageUnusedAppRestrictionsIntent()
Essa API multiplataforma faz parte da biblioteca Jetpack Core e estará disponível no Jetpack Core v1.7.0. Essa API já está disponível na versão Beta.
Amostra de lógica para um app que exige que o usuário desative a redefinição automática:
val future: ListenableFuture<Int> = PackageManagerCompat.getUnusedAppRestrictionsStatus(context) future.addListener( { onResult(future.get()) }, ContextCompat.getMainExecutor(context) ) fun onResult(appRestrictionsStatus: Int) { when (appRestrictionsStatus) { // Status could not be fetched. Check logs for details. ERROR -> { } // Restrictions do not apply to your app on this device. FEATURE_NOT_AVAILABLE -> { } // Restrictions have been disabled by the user for your app. DISABLED -> { } // If the user doesn't start your app for months, its permissions // will be revoked and/or it will be hibernated. // See the API_* constants for details. API_30_BACKPORT, API_30, API_31 -> handleRestrictions(appRestrictionsStatus) } } fun handleRestrictions(appRestrictionsStatus: Int) { // If your app works primarily in the background, you can ask the user // to disable these restrictions. Check if you have already asked the // user to disable these restrictions. If not, you can show a message to // the user explaining why permission auto-reset and Hibernation should be // disabled. Tell them that they will now be redirected to a page where // they can disable these features. Intent intent = IntentCompat.createManageUnusedAppRestrictionsIntent (context, packageName) // Must use startActivityForResult(), not startActivity(), even if // you don't use the result code returned in onActivityResult(). startActivityForResult(intent, REQUEST_CODE) }
A lógica acima funcionará em dispositivos com Android 6.0 a 10 e também com Android 11 ou posterior. Basta usar apenas as novas APIs; não é mais preciso chamar as APIs de redefinição automática do Android 11.
As novas APIs também são compatíveis com a hibernação de apps introduzida com o Android 12 (API nível 31). A hibernação é uma nova restrição aplicada a apps não utilizados. Esse recurso não está disponível nas versões do SO anteriores ao Android 12.
A API getUnusedAppRestrictionsStatus() retornará API_31 se a redefinição automática de permissões e a hibernação de apps se aplicarem a um app.
getUnusedAppRestrictionsStatus()
API_31