Coletar feedback dos testadores

Neste guia, descrevemos como ativar o feedback no app usando o SDK opcional do Firebase App Distribution para Android. Assim, os testadores podem enviar feedback (incluindo capturas de tela) diretamente no app.

Antes de começar

Adicione o Firebase ao seu projeto para Android, caso ainda não tenha feito isso.

Etapa 1: ativar a API App Distribution Tester

  1. Abra o Console do Google Cloud e selecione seu projeto do Firebase.

  2. Em "API Firebase App Testers", clique em Ativar.

Etapa 2: adicionar o App Distribution ao seu app

O SDK do App Distribution para Android é composto por duas bibliotecas:

  • firebase-appdistribution-api: a biblioteca somente de API, que pode ser incluída em todas as variantes de build.
  • firebase-appdistribution: a implementação completa do SDK (opcional).

A biblioteca somente de API permite que seu código faça chamadas para o SDK. As chamadas só terão efeito se a implementação completa do SDK for realizada.

  1. Declare a dependência do SDK do App Distribution para Android no seu arquivo do Gradle (nível do app) do módulo, que geralmente é <project>/<app-module>/build.gradle.kts ou <project>/<app-module>/build.gradle).

  2. Para evitar a inclusão da funcionalidade de autoatualização da implementação do SDK nos builds do Google Play, identifique as variantes de build, incluindo os tipos de build ou as variações de produtos a serem distribuídos pelo App Distribution.

  3. Declare a dependência do SDK do Android do App Distribution no arquivo do Gradle (nível do app) do módulo, que geralmente é app/build.gradle. Só adicione a implementação completa do SDK às variantes destinadas exclusivamente aos testes de pré-lançamento:

    Kotlin+KTX

    dependencies {
        // ADD the API-only library to all variants
        implementation("com.google.firebase:firebase-appdistribution-api-ktx:16.0.0-beta10")
    
        // ADD the full SDK implementation to the "beta" variant only (example)
        betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta10")
    }
    

    Java

    dependencies {
        // ADD the API-only library to all variants
        implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta10")
    
        // ADD the full SDK implementation to the "beta" variant only (example)
        betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta10")
    }
    

Etapa 3: configurar o feedback no app

Para coletar feedback dos seus testadores, use um dos gatilhos abaixo.

  • Gatilho de notificação integrado: o SDK do App Distribution para Android pode mostrar uma notificação contínua avisando que o testador pode tocar em qualquer lugar no app. Use esse gatilho para começar mais rápido sem precisar personalizar o modo como os testadores enviam feedback.

  • Gatilho personalizado: é possível indicar seu próprio mecanismo de gatilho, como tocar em um botão ou item de menu no app ou balançar o dispositivo.

Quando você usa um desses gatilhos e o testador envia feedback, o SDK do Android realiza as seguintes ações:

  1. Faz uma captura de tela da atividade atual do app.

  2. Executa verificações para garantir que o testador ativou os recursos de teste do SDK. Se não estiverem ativados, o SDK do Android vai solicitar que o testador faça o login no App Distribution com a Conta do Google.

  3. Inicia uma atividade em tela cheia que permite ao testador escrever e enviar feedback.

Opção 1: gatilho de notificação

Use showFeedbackNotification() para mostrar uma notificação persistente ou contínua no dispositivo do testador em que ele possa tocar para iniciar o feedback. Ao configurar a notificação, adicione o texto que será mostrado ao testador antes do envio do feedback e um nível de interrupção dela, que corresponde à importância do canal. Use texto caso você queira lançar um aviso sobre a coleta e o processamento dos dados de feedback.

Quando você utiliza showFeedbackNotification() e o app vai para o segundo plano, a notificação fica oculta. Para ocultar explicitamente a notificação, chame cancelFeedbackNotification(). Recomendamos que você adicione showFeedbackNotification() ao onCreate() da atividade principal.

Kotlin+KTX

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        Firebase.appDistribution.showFeedbackNotification(
            // Text providing notice to your testers about collection and
            // processing of their feedback data
            R.string.additionalFormText,
            // The level of interruption for the notification
            InterruptionLevel.HIGH)
    }
}

Java

public class MainActivity extends AppCompatActivity {
    FirebaseAppDistribution firebaseAppDistribution =
        FirebaseAppDistribution.getInstance();
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        firebaseAppDistribution.showFeedbackNotification(
            // Text providing notice to your testers about collection and
            // processing of their feedback data
            R.string.additionalFormText,
            // The level of interruption for the notification
            InterruptionLevel.HIGH);
    }
}

Opção 2: gatilho personalizado

Use o método startFeedback() para iniciar o feedback usando o mecanismo que preferir. Por exemplo, para acionar o feedback, adicione um item do menu "Enviar feedback" ao menu de ações do app ou permita que os testadores balancem o dispositivo ou façam uma captura de tela. Durante o acionamento, indique o texto que será mostrado ao testador antes do envio. Use texto caso você queira enviar um aviso sobre a coleta e o processamento dos dados de feedback.

Kotlin+KTX

Firebase.appDistribution.startFeedback(R.string.feedbackMessage)

Java

FirebaseAppDistribution.getInstance().startFeedback(R.string.feedbackMessage);

Etapa 4: criar e testar a implementação

Teste local

Para testar a implementação sem precisar distribuir o app primeiro, siga estas etapas:

  1. Ative o modo de desenvolvedor no dispositivo local:

    adb shell setprop debug.firebase.appdistro.devmode true
    
  2. Crie seu app como uma variante de pré-lançamento que inclua as bibliotecas completas do App Distribution e teste se é possível acionar o feedback usando o mecanismo implementado na Etapa 3: configurar o feedback no app. Não é possível enviar no modo de desenvolvedor.

  3. Após o teste, você pode desativar o modo de desenvolvedor no dispositivo:

    adb shell setprop debug.firebase.appdistro.devmode false
    

Testes de ponta a ponta

Para testar se o app pode enviar feedback, crie o app como uma variante de pré-lançamento que inclua as bibliotecas completas do App Distribution e teste a implementação seguindo estas etapas:

  1. Faça o upload de uma nova versão do app no App Distribution.

  2. Distribua a versão para uma conta em que você tem permissão de acesso.

  3. Faça o download pelo site do App Distribution ou no app Android para testadores.

  4. Acione o feedback usando o mecanismo implementado na Etapa 3: configurar o feedback no app.

  5. Verifique se você fez login com a mesma conta usada para distribuir a versão do app e envie o feedback.

  6. Confira seus comentários no card de lançamento no Console do Firebase.

Saiba como resolver problemas comuns, por exemplo, os testadores não conseguem iniciar o feedback no app, em Ativar recursos de teste com o SDK.

Etapa 5: gerenciar o feedback do testador

Depois de permitir que os testadores enviem feedback, use as seguintes ferramentas para analisar e fazer algo em relação ao feedback:

Consultar e excluir feedback no console do Firebase

Revise e exclua o feedback do usuário, incluindo as capturas de tela, abrindo a guia Feedback do testador em uma versão específica do console do Firebase. O feedback é organizado por versão. Assim, você pode confirmar a que versão o feedback está relacionado.

Depois de analisar o feedback dos usuários, exclua-o clicando no botão Excluir feedback. O feedback excluído é removido da versão.

Receber alertas sobre novo feedback por e-mail

Receba alertas por e-mail quando os testadores enviarem novos feedbacks. Esse alerta inclui o texto do feedback e o link das capturas de tela que o testador adicionou.

Para receber notificações do App Distribution com esse mecanismo padrão, é necessária a permissão firebase.projects.update. Os papéis a seguir incluem essa permissão, necessária por padrão: Administrador do Firebase ou Proprietário ou Editor do projeto.

Por padrão, todos os membros que têm as permissões necessárias para receber alertas por e-mail vão receber uma mensagem quando um novo relatório de feedback for enviado. Cada um pode desativar esse recurso.

Para desativar os alertas por e-mail, consulte Receber alertas do Firebase.

Enviar novo feedback para ferramentas de terceiros

Também é possível enviar alertas do App Distribution ao canal de notificação preferido da sua equipe usando o Cloud Functions para Firebase. Por exemplo, é possível criar uma função que capture um evento de alerta para novo feedback no app e publique as informações em um serviço de terceiros, como Discord, Slack ou Jira.

Para configurar esses recursos usando o Cloud Functions para Firebase, siga estas etapas:

  1. Configure o Cloud Functions para Firebase, que inclui as seguintes tarefas:

    1. Fazer o download do Node.js e do npm.

    2. Instalar e fazer login na CLI do Firebase.

    3. Inicializar o Cloud Functions para Firebase usando a CLI do Firebase.

  2. Crie e implante uma função que capture um evento de alerta de feedback no App Distribution e processe o payload do evento, por exemplo, posta as informações de alerta em uma mensagem no Discord.

Confira aqui um exemplo de função que mostra como enviar um novo feedback ao Jira.

Para saber mais sobre todos os eventos de alerta que você pode capturar, acesse a documentação de referência dos alertas do App Distribution.