Diretrizes de certificação da seleção de áudio

Preparação para certificação

  1. Preparar dispositivos de teste.
    • Você precisará de cinco dispositivos Android.
      • Esses dispositivos precisam incluir o seguinte:
        • Pelo menos um Android T (13) e um Android S (12).
        • Pelo menos um Samsung e um Pixel.
        • Exemplo:
          • 1 OnePlus (Android 10).
          • 3 Samsung (Android 11, 12, 13).
          • 1 Pixel (Android 13).
    • Um dispositivo sem seleção de áudio:
      • Qualquer iPhone, PC, laptop com Bluetooth (BT) ou smartphone Android em que a seleção de áudio tenha sido desativada.
        • Você pode desativar a seleção de áudio na configuração de detalhes do dispositivo Bluetooth.
      • O caso de teste multiponto (MP) 2.8 precisa de um dispositivo sem switch de áudio, além dos cinco smartphones de teste.
  2. Participe do grupo de testes de seleção de áudio com suas contas de teste para mostrar notificações de depuração em smartphones de teste.
    • Isso também permite que o Google colete dados de teste pelo Google Analytics.
  3. Verifique se todos os dispositivos Android têm a versão 23.xx.xx ou mais recente do GmsCore instalada.

Critérios de certificação

  • A taxa de sucesso de alternância desejada precisa exceder 95% em todos os casos de teste.
  • Em testes que exigem uma chave, a conexão do perfil e o estado ativo da chave precisam ser concluídos em até três segundos após o acionamento de eventos de áudio em pelo menos 75% dos casos.

Guia de teste

Preparação de dispositivo em teste (DUT)

  • Verifique se o dispositivo BT não foi pareado anteriormente com nenhum smartphone conectado à Conta do Google de teste.
    • Se o dispositivo tiver sido pareado com a Conta do Google de teste, faça o seguinte para limpar o pareamento:
      • Nos dispositivos pareados:
        • Navegue até as configurações de Bluetooth.
        • Escolha "Esquecer dispositivo".
        • Ative e desative o modo avião.
    • Verifique se a opção "Salvar dispositivos automaticamente" está ativada.
      • Essa opção fica desativada por padrão.
      • Essa opção está disponível em "Configurações > Google > Dispositivos > Dispositivos salvos" (um por DUT).
    • Coloque o dispositivo Bluetooth no modo de pareamento.
    • Parear o dispositivo Bluetooth inicial (A).
    • Parear dispositivos Bluetooth subsequentes com outros dispositivos (B, C, D, etc.).

Escopo

  • Todos os headsets executam testes nas várias guias no modelo de autoteste da seleção de áudio.
  • Os headsets que oferecem suporte apenas ao modo SinglePoint (SP) executam o seguinte:
    • A guia Generic_test.
  • Os fones de ouvido compatíveis com o modo MP executam o seguinte:
    • A guia Generic_test.
    • A guia Multipoint_only.
  • Os fones de ouvido MP que podem ser alternados para o modo SP, executam o seguinte:
    • A guia "Generic_test" com o MP desativado.
    • A guia Generic_test com MP ativado.
    • A guia Multipoint_only com MP ativado.

Como preencher o autorrescaneamento e o relatório de autoteste

  • Execute todos os casos de teste pelo menos duas vezes.
  • Os testes devem ser executados neste formato:
  1. Dispositivo A=Android S (12) + Dispositivo B=Android T (13)
  2. Dispositivo A=Android T (13) + Dispositivo B=Android S (12)
  3. O dispositivo B será o DUT principal.
    • Insira os detalhes do Dispositivo B nos campos "Phone" e "OS" na parte de cima do template.

Um exemplo de caso de teste:

  • Smartphones de teste:

    • Dispositivo 1: Samsung (Android 13)
    • Dispositivo 2: Pixel (Android 12 ou 13) e outros.
  • Testes executados:

    • Execute 1. Dispositivo A=Samsung S10+ (12), dispositivo B=Pixel 7 Pro (13) coluna D: smartphone=Pixel 7 Pro, SO=Android 13
    • Execute 2. Dispositivo A=Pixel 7 Pro (13), Dispositivo B=Pixel 6(12) coluna E: Smartphone=Pixel 6, SO=Android 12

Um exemplo de teste concluído no modelo de autoteste:

Esta imagem mostra os resultados de um exemplo de teste

Eventos de áudio:

  • Os quatro tipos de eventos de áudio testados e os apps de teste recomendados são:
    1. Ligue para:
      1. O app integrado para smartphones.
    2. VoIP: qualquer app VoIP funciona, como:
      1. O app de teste da seleção de áudio.
      2. Facebook Messenger.
      3. Linha.
      4. WhatsApp
      5. Google Meet
      6. Google Meet
    3. Mídia: qualquer player de áudio funciona, como:
      1. O app de teste da seleção de áudio.
      2. YouTube Music
      3. Apple Music
      4. Spotify.
      5. Google Podcasts
    4. Jogo:
      1. O app de teste da seleção de áudio.

Informações de depuração:

  • As notificações são ativadas depois de entrar no grupo fp-sass-partner-test. Confira alguns exemplos:

    1. Notificação de estado mais recente: Figura 1: mostra a mensagem "notificação de estado mais recente".

    2. Sem notificação de troca: Figura 2: mostra a mensagem "Nenhuma notificação de troca".

  1. Notificação de latência da troca: Figura 3: mostra a mensagem "notificação de latência da troca".

Medição da latência

  • Há dois tipos de latência de switch:
    1. Conectando um perfil Bluetooth a um Seeker desconectado.
      • Isso inclui todos os casos SinglePoint e alguns casos de MP em que o Seeker de destino (dispositivo B) está desconectado.
    2. Trocando o Seeker conectado ativo.
      • Isso inclui alguns casos de MP em que o buscador alvo (dispositivo B) já está conectado.
  • Há duas maneiras de recuperar as informações de latência:
    1. Toda a latência pode ser despejada pelo comando adb.
      • Consulte a seção latência de despejo para detalhes.
      • Esse comando pode fornecer e registrar a latência depois de concluir pelo menos um caso de teste.
    2. Como usar o app de teste de seleção de áudio.
      • O aplicativo em execução no Seeker de destino exibirá a latência após a troca.
      • Se não houver interruptor, o app vai mostrar o motivo "sem interruptor".

App de teste para seleção de áudio:

  • O uso do app para acionar eventos de áudio VoIP/mídia/jogo durante um autoteste vai simplificar a configuração do teste e reduzir a latência do evento do Seeker.
  • Instalação do app:
    • Copie o apk para seu telefone de teste e abra-o.
    • Como alternativa, use adb install audio_test_app.apk.
  • Se for exibida uma caixa de diálogo solicitando acesso às notificações:
    1. clique em "OK"
    2. Escolha "FP SASS test" na lista de apps.
    3. Permita o acesso às notificações.

Visão geral do aplicativo:

Esta imagem é um exemplo do app em execução

Provedor de destino
Quando clicado, este botão mostra uma lista de dispositivos Bluetooth pareados. Selecione o que você quer testar.
Os botões "Conectar" e "Desconectar" funcionam como aqueles nos detalhes do dispositivo das configurações de Bluetooth.
Estado atual
Esse campo mostra o último estado da conexão que o Seeker recebeu de um provedor usando publicidade BLE ou fluxo de eventos.
As notificações de depuração da seleção de áudio também são mostradas aqui.
Tipo de usuário
Esta opção é usada para alternar o dispositivo entre streams de áudio.
Tipo de áudio
VoIP A seleção desse modo muda o modo de áudio para AudioManager.MODE_IN_COMMUNICATION e chama AudioManager.startBluetoothSco. Em seguida, o áudio é reproduzido com USAGE_VOICE_COMMUNICATION.
  • O tipo de stream é STREAM_VOICE_CALL.
  • O estado da conexão do provedor mudará para CONNECTED_HFP em até cinco segundos.
Mídia A seleção desse modo toca áudio compatível com AVRCP. O tipo de uso do áudio é: USAGE_MEDIA.
  • O estado da conexão do provedor precisa mudar para CONNECTED_A2DP_WITH_AVRCP em até cinco segundos.
  • O estado da conexão pode mudar brevemente para CONNECTED_A2DP_ONLY quando iniciada ou interrompida.
Jogo Ao selecionar esse modo, você toca áudios incompatíveis com o AVRCP. O tipo de uso do áudio é: USAGE_GAME.
  • O estado da conexão do provedor mudará para CONNECTED_A2DP_ONLY em até cinco segundos.
Botões Reproduzir e Parar
Os botões REPRODUZIR e parar iniciam ou interrompem o áudio.
Mudar resultado

Esse campo exibe a latência ativa de Connect e Switch. Ele também exibe o motivo para negar uma chave se um evento de áudio tiver sido acionado, mas a alternância não aconteceu.

  • A latência é medida em milissegundos (ms).
  • Em geral, a latência é medida do início do acionador de seleção de áudio até o recebimento de um perfil de BT conectado ou de notificar um evento de switch multiponto.
  • As chaves acionadas pelo provedor medem a latência desde o início do áudio.

Latência de despejo

  • Com o comando a seguir, o usuário pode capturar medições de latência ao executar testes manuais: adb shell dumpsys activity service com.google.android.gms/.nearby.discovery.service.DiscoveryService
    • As medições de latência são mostradas na seção SwitchHistory de NearbyDeviceManager:
            NearbyDeviceManager
              Nearby Sass device count: 1
                Sass device - address:XX:XX:XX:XX:XX:XX, name:Googler's Pixel Buds, accountKey:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, modelId:6edaf7
                  SwitchHistory
                    15:30:21:166 - 15:30:25:201, latency 3035ms, Succeed, SASS_TRIGGERED_CONNECT, SASS switch, A2DP
                    15:34:58:568 - 15:34:58:568, latency 0ms, Succeed, SWITCH_ACTIVE_TO_SELF, SASS switch, HFP
                    15:36:26:615 - 15:36:31:603, latency 1988ms, Succeed, SASS_TRIGGERED_CONNECT, SASS switch, A2DP
                    15:37:56:108 - 15:37:56:250, latency 142ms, Succeed, SWITCH_ACTIVE_TO_SELF, SASS switch, A2DP"
  • Qualquer switch que o GmsCore não puder medir (por exemplo, switch ativo para HFP) será registrada como latência de 0 ms.

Referência de padrões de registro:

Exemplos de registros do teste de latência

Problemas conhecidos:

Veja a seguir bugs conhecidos causados pelo Seeker:

  1. Alternância incorreta de áudio do jogo.
    • Os smartphones Samsung vão definir o estado da conexão como CONNECTED_A2DP_WITH_AVRCP, em vez de CONNECTED_A2DP_ONLY, ao jogar jogos.
    • Alguns jogos(por exemplo, Candy crush) podem repetir músicas em segundo plano e acionar um novo evento de áudio sem a entrada do usuário. Os smartphones conectados podem trocar o áudio constantemente em todos os smartphones que abrem o jogo.