Como o Google está assumindo o controle da navegação por gestos no Android 10

O Google está realmente promovendo a nova navegação por gestos no Android 10. Embora não tenham banido outros esquemas de controle por gestos, eles estabeleceram muitos limites.

Depois de experimentar controles de gestos baseados em botões no Android 9 Pie, o Google voltou à prancheta para melhorar a fluidez e o uso com uma mão da navegação por gestos do Android. Com o Android 10, o Google chegou a uma solução visualmente semelhante ao iOS: uma barra de gestos que pode ser deslizada para cima para voltar para casa ou para a esquerda ou direita para alternar entre aplicativos. Como a barra de gestos é muito mais fina do que o espaço dedicado ao esquema anterior de navegação de três botões, os gestos do Android 10 dão aos aplicativos mais espaço para mostrar o conteúdo na parte inferior da tela. Para lidar com a falta de um botão Voltar dedicado, o Google adicionou um toque para dentro a partir das bordas esquerda ou direita da tela para acionar a ação Voltar. Os gestos novos e aprimorados do Google são um passo na direção certa, embora alguns ainda acreditem que as alternativas de terceiros são superiores.

A nova navegação por gestos do Android 10. Fonte: Google.

Mesmo que ainda haja espaço para melhorar (e definitivamente há), o Google está pressionando seus parceiros Android a adotarem esses novos gestos de navegação porque a empresa não quer sobrecarregar os desenvolvedores de aplicativos com a necessidade de acomodar vários gestos de navegação diferentes esquemas. Fabricantes de dispositivos Android como OnePlus, Samsung, Xiaomi, Huawei, OPPO, Vivo e ASUS são apenas algumas das empresas com suas próprias abordagens sobre navegação por gestos. Essas empresas já investiram muito esforço de desenvolvimento na construção de seus próprios gestos, então o Google não os está forçando a abandonar completamente o trabalho.

“Os usuários desejam cada vez mais experiências imersivas no Android, e uma coisa que os fabricantes de dispositivos têm feito é tentar abordar isso do ponto de vista do software. E o que eles fizeram foi construir sua própria navegação por gestos. E cada fabricante de dispositivos tem uma impressão diferente de como a navegação por gestos deve funcionar. O que reconhecemos no lado da plataforma é que isso é uma loucura para um desenvolvedor. Pensar em N diferentes navegação por gestos quando você está tentando desenvolver, projetar e testar seu aplicativo fica meio insano. Então, com isso em mente, introduzimos essa navegação por gestos no Q e vamos padronizar o ecossistema a partir do Q em 3 botões e nosso modelo daqui para frente.” – Ronan Shah, gerente de produto do Google na equipe de UI do sistema Android, no Google I/O 2019.

Em vez disso, o Google reescreveu seu conjunto de regras para compatibilidade de aplicativos Android e Google, forçando os OEMs a marginalizar seus próprios gestos em favor dos do Google, ao mesmo tempo que restringe a funcionalidade do OEM gestos.

Requisitos de compatibilidade de gestos do Android 10

Após cada lançamento importante da plataforma Android, o Google atualiza o Documento de definição de compatibilidade do Android (CDD) para delinear os novos requisitos que todos os dispositivos devem atender para serem considerados compatíveis com a versão mais recente do Android. Este é um dos pré-requisitos para obter uma licença Android, necessária para utilizar a marca Android em marketing. Também é um pré-requisito para obter aprovação para distribuir o Google Mobile Services, o conjunto de aplicativos, serviços e bibliotecas do Google pré-instalados na maioria dos dispositivos Android vendidos internacionalmente.

No CDD para Android 10, o Google atualizou a seção 2.2.3 sobre os requisitos de software para dispositivos portáteis (também conhecidos como smartphones) com o texto abaixo. Essas declarações informam os OEMs sobre as expectativas do Google sobre o tamanho da área de acionamento para gestos de navegação.

O Google recomenda que a área de reconhecimento de gestos para a ação inicial esteja dentro de 32 dp (dp significa densidade independente pixel) da parte inferior da tela, mas eles não estão exigindo isso para que os OEMs ainda possam oferecer controles de gestos flutuantes como Doca de navegação flutuante da EMUI.

Se um OEM oferecer um gesto de deslizar nas bordas esquerda ou direita da tela, o Google exigirá que a área de acionamento esteja a menos de 40 dp da borda (idealmente 24 dp de largura). Observe que isso permite que os OEMs criem diferentes opções de sensibilidade para gestos laterais, desde que a área de disparo não exceda 40 dp. Na verdade, o Google oferece exatamente isso em sua própria versão do Android 10. Por padrão, a inserção para o gesto de voltar é 24 dp no Pixel, mas pode ser reduzida para 18 dp ou aumentada para 32 dp ou 40 dp.

Em uma seção posterior do CDD, especificamente a seção 7.2.3 que cobre as teclas de navegação, o Google fornece requisitos detalhados sobre como os gestos para as ações de voltar, casa e aplicativos recentes devem funcionar. A maioria dos requisitos se concentra em garantir que o comportamento do sistema seja consistente para os desenvolvedores de aplicativos, mas existem algumas declarações notáveis ​​que podem afetar a experiência do usuário.

Embora o Google não exija que deslizar de baixo para cima acione a ação inicial ou deslizar para cima e segurar acionar a visão geral recente dos aplicativos, o Google exige que gestos de deslizar pelas laterais acionem a ação de voltar. Notavelmente, isso significaria que os gestos personalizáveis ​​fornecidos pelo Operação com uma mão + da Samsung não seria permitido, embora como o One Hand Operation + não esteja instalado imediatamente, ele pode ser aprovado.

Se um OEM fornecer um painel de sistema flutuante que é acionado por meio de um gesto de deslizar lateralmente, o OEM deverá colocar o gatilho área no 1/3 superior do lado esquerdo ou direito e não deve permitir que o painel exceda um tamanho de 1/3 do tamanho da tela borda. O OEM pode, no entanto, permitir que o usuário defina a área de disparo abaixo do 1/3 superior das bordas. Este idioma provavelmente foi adicionado para acomodar o recurso Edge Panel da Samsung.

O documento de definição de compatibilidade do Android 10 não coloca que muitas restrições sobre o que os OEMs podem fazer com gestos, mas como mencionei antes, cumprir o CDD é apenas um dos pré-requisitos para obter uma licença Android e aprovação para distribuir GMS. O Google tem um documento separado que distribui de forma privada a todos os seus parceiros Android licenciados; este documento enumera os requisitos técnicos que as empresas devem seguir para poder distribuir GMS e contém estipulações adicionais relativas à navegação por gestos no Android 10. Obtivemos uma cópia deste documento, intitulado Requisitos GMS v7, datado de 3 de setembro de 2019.

Requisitos de navegação por gestos para aprovação GMS

O Google Assistente é um serviço extremamente importante para o Google, então o Google o agrupa como parte do Google App e exige que todos os parceiros Android o distribuam como parte do conjunto de aplicativos GMS para dispositivos "regulares" (não Android Go). No entanto, os requisitos não param por aí. Desde o Android 5.1, o Google exige que um toque longo no botão Home acione a ação Assist, que por padrão invocará o Google Assistant, pois o Google também exige que o Google app seja o gerenciador padrão para o Assist Ação. Porém, não há mais um botão home dedicado no Android 10, então o Google estabeleceu novos requisitos sobre como acionar o Assistente com um gesto.

Para acionar o Google Assistente com a navegação por gestos do Google, você deve deslizar diagonalmente a partir do canto inferior esquerdo/direito. O Google exige que esse gesto esteja presente em todos os dispositivos com Android 10, independentemente de os gestos do Google serem ou não os controles de navegação padrão prontos para uso. Se um OEM implementar seus próprios controles de navegação por gestos, ele poderá implementar seu próprio gatilho para iniciar o aplicativo Assistant, mas a implementação exata estará sujeita à revisão do Google. Alguns OEMs como OnePlus e Xiaomi permitem acionar o Assistente pressionando longamente o botão liga / desliga, por exemplo.

O Google define três tipos de modelos de navegação de referência:

  1. Controles de navegação clássicos de três botões. Podem ser botões na tela ou de hardware, mas devem ter alguma distância entre eles. Os três botões acionam aplicativos iniciais, anteriores e recentes.
  2. Controles de navegação de dois botões do Android 9 Pie. Não podem ser botões de hardware, embora os dois botões ainda devam ter alguma distância entre eles. Os botões Voltar e Início acionam as ações Voltar e Início respectivamente, embora o botão de aplicativos recentes foi mesclado com o botão home de forma que deslizar para cima no botão home aciona os aplicativos recentes visão geral.
  3. A nova navegação gestual do Android 10.

Todos os dispositivos lançados com Android 10 devem implementar A e C, embora cabe ao OEM decidir qual deles será o padrão pronto para uso. B não é mais compatível e não pode ser permitida como opção selecionável pelo usuário.

Então, onde isso deixa os controles de navegação alternativos dos OEMs? O Google diz que embora os parceiros Android possam oferecer seus próprios controles de navegação, suas alternativas não podem ser apresentados ao usuário durante a configuração nem podem ser anunciados ao usuário por meio de notificações ou na tela pop-ups. Embora A e C devam ser mostrados no nível superior das configurações de navegação, quaisquer opções de navegação alternativas devem ser colocadas uma entrada mais abaixo nas Configurações.

Isso significa efetivamente que gestos alternativos e possivelmente melhores só serão encontrados por usuários avançados que pesquisarem nas configurações ou lerem artigos on-line sobre seus dispositivos. Observamos em nosso Análise do OnePlus 7T que o OnePlus não oferece gestos em tela cheia do OxygenOS, e esse provavelmente será o caso com outros dispositivos lançados com Android 10 no futuro, já que não faz sentido oferecer um gesto alternativo esquema. A provável razão pela qual o OnePlus 7 e o OnePlus 7 Pro ainda possuem os antigos gestos do OxygenOS é que o Google recomenda fortemente que os OEMs não removam as opções de navegação existentes ao atualizar dispositivos para Android 10.

Por último, o Google recomenda fortemente que os OEMs não mudem o usuário para um modo de navegação diferente ao definir um inicializador de terceiros como padrão. Ironicamente, é exatamente isso que acontece quando você tente definir um inicializador de terceiros como padrão no Android 10 para o Google Pixel. O Google prometeu que lançará uma correção para tornar os gestos do Android 10 compatíveis com inicializadores de terceiros, então é provável que eles tenham adicionado esta declaração específica para que os usuários não culpem lançadores de terceiros por gestos incompatibilidade. Faça o que eu digo, não o que eu faço.


Em resumo, o Google finalmente tomou medidas para unificar a navegação por gestos no Android e está usando o processo de aprovação CDD e GMS para fazer com que os OEMs sigam em frente. Isso não é uma coisa ruim, pois a fragmentação nos controles de navegação é problemática para desenvolvedores de aplicativos. O Google colocou claramente muita reflexão e pesquisa sobre a usabilidade dos novos gestos. Como o Google sabe que nem todos ficarão felizes com seus gestos, eles ainda estão dando Os OEMs têm alguma margem de manobra, permitindo-lhes fazer seus próprios gestos, desde que esses gestos sigam certas regras.

Em versões futuras do Android, o Google poderá proibir totalmente modos de navegação alternativos. OnePlus já pode ver a escrita na parede, o que explicaria por que eles não fornecem mais seus gestos antigos no OnePlus 7T, mas teremos que esperar o lançamento de mais dispositivos com Android 10 para ver se este é um caso único ou uma nova indústria tendência.