Android XR: diretrizes de qualidade e políticas de apps para experiências imersivas

Dispositivos XR relevantes
Estas orientações ajudam você a criar experiências para esses tipos de dispositivos XR.
Headsets XR
Óculos XR com fio

As diretrizes de qualidade de apps para experiências imersivas ampliam os padrões básicos de qualidade de apps para dispositivos móveis.

Essas diretrizes de qualidade e políticas de apps se concentram em interações e recursos espaciais exclusivos da plataforma Android XR em headsets XR e óculos XR com fio, conforme descrito nas definições de nível de compatibilidade, nas listas de verificação e nas Políticas de apps do Android XR. Consulte estas seções para verificar se o app oferece uma ótima experiência do usuário em headsets XR e óculos XR com fio.

Experiências imersivas: definições de nível de compatibilidade

Confira as definições de nível de compatibilidade a seguir para entender o nível de suporte que seu app oferece para experiências imersivas em headsets XR e óculos XR com fio.

App para dispositivos móveis compatível com Android XR

Um app para dispositivos móveis compatível com o Android XR representa um app para dispositivos móveis que não foi modificado para se adaptar a uma tela grande ou a qualquer outro formato. Esse tipo de app é automaticamente compatível com o Android XR, desde que não exija recursos sem suporte, como telefonia. Os usuários podem concluir fluxos de tarefas essenciais, mas com uma experiência do usuário menos ideal do que um app diferenciado para Android XR.

Esse tipo de app é executado em tela cheia em um painel no ambiente do usuário, mas o layout pode não ser ideal em tamanhos maiores. Os apps que especificam tamanhos compactos no manifesto aparecem de acordo. O app não é executado no modo de compatibilidade e, portanto, não tem efeito letterbox. O app tem uma experiência funcional das principais modalidades de entrada fornecidas pelo Android XR (acompanhamento ocular + gesto ou mãos com raycast) e suporte básico para dispositivos de entrada externa, incluindo teclado, mouse, trackpad e controles de jogo. Ele pode ou não ser redimensionável.

Os apps para dispositivos móveis compatíveis com o Android XR são ativados automaticamente e disponibilizados na Google Play Store. Um app que não é compatível devido a requisitos de recursos não aceitos não pode ser instalado pela Google Play Store.

App adaptável compatível com Android XR

Um app adaptável compatível com o Android XR é um app que implementou otimizações de layout para todos os tamanhos de tela e configurações de dispositivo (por exemplo, telas grandes, além de dispositivos móveis), além de suporte aprimorado para dispositivos de entrada externa e multitarefa. Um app atende a esses requisitos se for otimizado para adaptação de nível 2 ou diferenciado para adaptação de nível 1 em computadores, tablets ou dobráveis.

Os apps adaptáveis compatíveis com o Android XR são ativados automaticamente e estão disponíveis na Google Play Store.

App diferenciado para Android XR

Um app diferenciado para Android XR tem uma experiência do usuário explicitamente projetada para XR e implementa recursos que só são oferecidos em XR. Você pode aproveitar ao máximo os recursos do Android XR e diferenciar as experiências do seu app adicionando recursos de XR (como painéis espaciais) e conteúdo de XR (como vídeos 3D) aos seus apps desenvolvendo com o SDK do Android Jetpack para XR, Unity, Godot, Unreal Engine ou OpenXR.

Use o SDK do Jetpack XR para fornecer recursos específicos de XR, como:

  • Painéis espaciais
  • Ambientes
  • Modelos 3D
  • Áudio Espacial
  • Vídeos e fotos em 3D ou espaciais
  • Âncoras
  • Outras interfaces espaciais, como orbitadores

Para ser considerado um app diferenciado do Android XR, um app precisa implementar pelo menos um recurso ou conteúdo específico de XR. Para determinados casos de uso, pode haver mais requisitos de recursos e conteúdo. Confira os detalhes nas seções seguintes.

Todos os apps criados com Unity, Godot, Unreal Engine ou OpenXR são considerados diferenciados, desde que atendam às métricas de qualidade e aos requisitos mínimos para serem considerados um app diferenciado do Android XR. Por exemplo, um app com baixa taxa de quadros, falhas ou outras experiências negativas do usuário não se qualificaria.

Ajude os usuários a descobrir seu app na Google Play Store com um selo

Os apps diferenciados do Android XR recebem automaticamente o selo "Ideal para XR" na Google Play Store para ajudar os usuários a descobrir experiências de XR de alta qualidade.

Experiências imersivas: lista de verificação de compatibilidade

Para verificar se o app oferece uma ótima experiência do usuário em headsets XR e óculos XR com fio, consulte as listas de verificação e os testes de compatibilidade a seguir.

As listas de verificação e os testes definem um conjunto abrangente de requisitos de qualidade para a maioria dos tipos de apps Android.

App para dispositivos móveis compatível com Android XR

Seu app precisa atender aos requisitos de qualidade de apps.

O app também precisa seguir todas as diretrizes de acessibilidade aplicáveis a outros formatos, como smartphones e tablets (por exemplo, contraste de cores).

App adaptável compatível com Android XR

Qualquer app que seja otimizado para adaptação de nível 2 ou diferenciado para adaptação de nível 1 para computadores, tablets ou dobráveis também é considerado um app adaptável compatível com o Android XR. As diretrizes de qualidade de apps adaptáveis oferecem uma abordagem estruturada para garantir uma ótima experiência no Android XR, mas considerações sobre o estado do dispositivo, como rotação ou dobra/desdobramento, não são necessárias.

App diferenciado para Android XR

Como os apps diferenciados do Android XR são altamente diferenciados, alguns dos recursos listados são aplicáveis somente a tipos específicos de apps. Escolha os recursos adequados para seu app. Os apps Android também precisam obedecer às diretrizes de qualidade de apps adaptáveis. Confira os requisitos adequados para seu app.

Siga também as orientações sobre como criar apps diferenciados para XR para oferecer a melhor experiência possível ao usuário.

Tipo de app e caso de uso

Categoria

Área

Orientação

Requisito básico geral (Android e OpenXR)

Privacidade e segurança

Login na conta (UX de primeira vez)

Se o app usa um sistema de login, apresente claramente as credenciais de login do usuário (por exemplo, as credenciais de nome de usuário) após a autenticação. Isso gera confiança ao confirmar a conta ativa. Além disso, inclua um menu ou uma página de configurações de fácil acesso para que os usuários possam ver e gerenciar as informações da conta a qualquer momento.

Segurança e conforto

Estroboscópico

Para garantir a segurança e o bem-estar de todos os usuários, é fundamental minimizar o risco de efeitos estroboscópicos no app.

Evite incorporar intencionalmente elementos de design que possam induzir o efeito estroboscópico.

1. Se um efeito estroboscópico for absolutamente necessário, garanta que a taxa de intermitência seja muito baixa (menos de 3 flashes por segundo) e que a área de intermitência seja pequena e sutil.

2. Considere oferecer uma opção para desativá-lo nas configurações ou preferências.

3. Mostre uma mensagem de aviso clara antes que qualquer efeito estroboscópico ocorra.

Evitar o enjoo de movimento

Siga estas diretrizes para evitar que os usuários tenham cinetose:

  • Priorize o conforto visual evitando movimentos bruscos da câmera. Mantenha um referencial consistente para evitar desorientar o usuário.
  • Não gire a câmera ao longo do tempo. Se a direção da câmera mudar, ela vai se ajustar à nova orientação.

Menos brilho

Respeite as configurações de dimmer estabelecidas pelo usuário para evitar riscos de segurança. Você pode ajustar o dimmer para uma experiência ideal no seu app, mas os usuários podem modificar manualmente a qualquer momento.

Entrada

Tamanho dos alvos de interação

Os alvos interativos têm um tamanho mínimo e um tamanho recomendado com base na distância de interação pretendida:

  • Tamanho mínimo: DistanceInM x 0,868 x 48 = M
  • Tamanho recomendado: DistanceInM x 0,868 x 56 = M ou maior

Ao usar o SDK do Jetpack XR, recomendamos um tamanho mínimo de 48 x 48 dp, com um tamanho de área de toque recomendado de 56 x 56 dp ou maior.

Funcionalidade técnica de XR

Entrada manual

Seu app é compatível com a entrada manual natural como um método de interação básico para o Android XR, incluindo requisitos de raycast manual e suporte a gestos para primitivas de entrada.

O app pode ser jogado ou usado sem controles, mas pode ser aprimorado com o uso deles, se você quiser.

Limite

Se o app for focado principalmente no mundo real (currentPassthroughOpacity está definido como um valor maior que 0,5), os usuários poderão andar pelo ambiente real. Mantenha o campo de visão central livre de elementos densos e opacos para evitar tropeços ou falta de percepção situacional.

Se o app estiver focado principalmente em um mundo virtual (currentPassthroughOpacity está definido como um valor menor que 0,5) e não for uma experiência estacionária, considere declarar um limite grande no manifesto usando PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED = XR_BOUNDARY_TYPE_LARGE.

Se o app usar XR_BOUNDARY_TYPE_LARGE, ele será totalmente jogável sem que o limite apareça (em um raio de 2 m. O limite começa a aparecer em um raio de 1, 5 m).

Óculos XR: não há limite para dispositivos de óculos XR.

Desempenho

Renderização

O app renderiza cada frame entre <11,1 ms (90 Hz) e <13,8 ms (72 Hz).

Resolução

OpenXR e mecanismos: consulte XR_ANDROID_recommended_resolution para conseguir o destino de renderização ideal, assim como os mecanismos de jogo padrão fazem.

Tempo de inicialização do app

Os usuários querem interagir com seu app ou jogo o mais rápido possível. A definição de um bom tempo de inicialização ou carregamento varia de acordo com a categoria, mas, como princípio geral, recomendamos minimizar o tempo entre o lançamento e a primeira interação.

Confira as durações desejadas abaixo:

  • Inicialização a frio média: menos de 2 segundos
  • Média de inicialização com estado salvo: menos de 1 segundo

Para mais detalhes, consulte Tempo de inicialização do app.

ANRs

O app não falha nem bloqueia a linha de execução de interface, o que causa erros de ANR ("O Android não está respondendo").

Seu app tem menos de 1 ANR em 99,5% das sessões diárias.

Seu app usa o relatório de pré-lançamento do Google Play para identificar possíveis problemas de estabilidade. Após a implantação, preste atenção à página do Android vitals no Google Play Console.

Taxa de falhas

Não consuma recursos excessivos do sistema que afetem o restante do sistema e outros apps, mantendo uma taxa de falhas de aproximadamente 1%.

Baseline de app Android (diferenciado para XR)

Visual e experiência do usuário

XR básico

O app implementa pelo menos um recurso ou conteúdo específico de XR para melhorar a experiência do usuário. Isso pode incluir um orbiter, um ou mais painéis espaciais, ambientes ou objetos 3D.

Painéis espaciais

  • Coloque menus, recursos e controles em um painel ou orbiter dedicado. Não inclua esses componentes no painel de edição principal.
  • Ao realizar várias tarefas ao mesmo tempo (ou seja, concluir duas ou mais tarefas de uma vez) com painéis, crie painéis espaciais separados. Por exemplo, você criaria painéis espaciais separados para janelas de chat e listas.

Ambientes

Ao mostrar um ambiente virtual, o brilho pode ser uma distração e causar cansaço. O app apresenta uma faixa tonal segura, sem picos de brilho que entrem em conflito com a interface ou que possam causar fadiga ao usuário. A interface é legível em todas as direções, especialmente na faixa horizontal central do olhar do usuário. (Diretrizes detalhadas serão vinculadas no futuro)

Tema da interface

Use o tema escuro como padrão ou incentive o uso dele. Os apps com tema claro vão parecer muito brilhantes, não vão se integrar ao ambiente do usuário e vão descarregar a bateria mais rapidamente. Para óculos XR, sempre implemente um tema escuro, já que o sistema usa um tema escuro por padrão.

Transição entre o Espaço Compacto (HSM) e o Espaço Ampliado (FSM)

Ao levar os usuários para o Espaço Ampliado, seu app tem um ponto de entrada para que eles alternem rapidamente entre o Espaço Compacto e o Espaço Ampliado. Use um ícone ou rótulo e coloque o botão em um local de fácil acesso.

Rolagem de menu e lista

As atualizações do app aprimoram as interações de rolagem (especialmente em carrosséis ou listas verticais) para ter física ou impulso. Por exemplo, a rolagem incorpora o impulso, fazendo com que o conteúdo em carrosséis e listas continue se movendo brevemente após uma interação do usuário antes de parar gradualmente (em vez de parar exatamente quando o usuário para de interagir).

Funcionalidade de vídeo e mídia

Visual e experiência do usuário

Player espacial (somente Android)

Seu app permite que os usuários assistam conteúdo no Espaço Ampliado.

Remova os controles de mídia de uma sobreposição em cima do conteúdo e coloque-os em um painel dedicado ou orbiter.

Para painéis com reprodução de vídeo, defina a proporção para remover o letterbox.

Áudio Espacial

Considere oferecer suporte ao áudio espacial, incluindo áudio bloqueado por painel ou som surround.

Exibição simultânea de vídeos

Se o app oferece suporte a vários streams de vídeo simultâneos, a interface do usuário deixa as seguintes informações claras:

  • Quais streams de vídeo estão fornecendo saída de áudio
  • Quais controles de mídia afetam quais streams de vídeo

Ambiente

Ao reproduzir conteúdo de vídeo no Espaço Ampliado, seu app permite que os usuários escureçam o passthrough (ou selecionem ambientes virtuais em dispositivos compatíveis).

Políticas de apps para Android XR

Todos os apps precisam obedecer aos requisitos das políticas a seguir para promover experiências seguras e respeitosas em dispositivos imersivos, como headsets XR e óculos XR com fio.

Segurança do app

Lembrete: todos os apps distribuídos pelo Google Play precisam obedecer às políticas para desenvolvedores do Google Play.

As seguintes atividades são estritamente proibidas, e os apps não podem facilitar ou promover essas atividades:

  • Doxxing
  • Reconhecimento facial ou identificação biométrica
  • Vigilância cibernética
  • Criação ou disseminação de imagens íntimas não consensuais (NCII, na sigla em inglês)

As seguintes proteções para terceiros são obrigatórias para todos os apps:

Segurança da câmera

Os apps que acessam a câmera precisam respeitar a privacidade de terceiros e obedecer ao seguinte:

Interações proibidas

Descrição

Identificação facial em tempo real e doxxing

Os apps não podem usar sensores de detecção da câmera para fazer identificação facial e mostrar informações de identificação pessoal (PII) de terceiros. Por exemplo: nomes, endereços de casa, números de telefone ou empregador.

Imagens íntimas não consensuais (NCII, na sigla em inglês) ou geração de conteúdo ilegal

Os apps não podem usar sensores de câmera para facilitar a criação de imagens íntimas não consensuais (NCII, na sigla em inglês) ou qualquer geração de conteúdo ilegal (por exemplo, CSAM).

Segurança de áudio

Os apps que usam o conjunto de microfones precisam respeitar a privacidade de terceiros e obedecer ao seguinte:

Interações proibidas

Descrição

Espionagem persistente

Os apps não podem manter a gravação ou transcrição de áudio em segundo plano de forma persistente quando o usuário não está interagindo ativamente com o app em uma tarefa iniciada por ele.

Identificação de fala

Os apps não podem usar o conjunto de microfones para identificar vozes de pessoas que não estão usando o dispositivo ou de terceiros.

Comportamentos do LED

Os apps não podem fazer o seguinte com relação aos LEDs do dispositivo voltados para o usuário e para o mundo:

Interações proibidas

Descrição

Supressão ou modificação programática

Os apps não podem mudar, diminuir ou desativar o comportamento dos LEDs voltados para o mundo e voltados ao usuário, que são aplicados pelo sistema com base no acesso ao microfone e à câmera. Os apps também não podem incentivar ou orientar os usuários a mudar, diminuir ou desativar o comportamento dos LEDs.

Ignorar a detecção de impedimento e adulteração

Os apps não podem burlar ou interferir nos algoritmos de detecção de obstrução do dispositivo, que são projetados para interromper a gravação de forma programática se o LED voltado para o mundo estiver fisicamente coberto ou danificado. Também não podem incentivar ou orientar os usuários a fazer isso.


OpenXR™ e o logotipo do OpenXR são marcas registradas de propriedade da The Khronos Group Inc. e são registradas como marcas na China, na União Europeia, no Japão e no Reino Unido.