Coletar feedback dos testadores

Neste guia, descrevemos como ativar o feedback no app usando o SDK do Android do Firebase App Distribution opcional. Assim, os testadores podem enviar feedbacks (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 app

O SDK do Android do App Distribution é 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 Android do App Distribution no seu arquivo do Gradle do módulo (nível do app), 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 completa do SDK nos builds do Google Play, identifique as variantes de build, incluindo os tipos de build ou as variações de produto, que serão distribuídos pelo App Distribution.

  3. Declare a dependência do SDK do Android do App Distribution no arquivo do Gradle do módulo (nível do app), 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-beta14")
    
        // ADD the full SDK implementation to the "beta" variant only (example)
        betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta14")
    }
    

    Java

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

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 Android do App Distribution pode mostrar uma notificação em andamento avisando que o testador pode tocar em qualquer lugar do app. Use esse gatilho para começar mais rapidamente, 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 de acordo com estas etapas:

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

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

  3. Faça o download do app pelo aplicativo de teste Web ou Android do App Distribution.

  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 feedback no card de nova versão 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:

Confira e exclua feedbacks no console do Firebase

Abra a guia Feedback do testador em uma versão específica do console do Firebase para analisar e excluir feedbacks do usuário, incluindo as capturas de tela. 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 por e-mail inclui o texto do feedback e o link das capturas de tela que o testador adicionou.

Para receber alertas por e-mail do App Distribution por esse mecanismo padrão, é necessário ter 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

Você também pode enviar alertas do App Distribution para o canal de notificação de preferência da equipe usando o Cloud Functions for 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 recursos avançados de alerta usando o Cloud Functions for Firebase, siga estas etapas:

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

    1. Faça o download do Node.js e do npm.

    2. Instale e faça login na CLI do Firebase.

    3. Inicialize o Cloud Functions for Firebase usando a CLI do Firebase.

  2. Crie e implante uma função que capture um evento de alerta de feedback no app pelo App Distribution e processe o payload do evento, por exemplo, posta as informações de alerta em uma mensagem do 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.