Coletar feedback dos testadores

Este guia descreve como ativar feedback no aplicativo usando o SDK opcional do Firebase App Distribution para Android, para que seus testadores possam enviar feedback (incluindo capturas de tela) diretamente no aplicativo.

Antes de você começar

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

Etapa 1: ativar a API App Distribution Tester

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

  2. Na API Firebase App Testers, clique em Ativar .

Etapa 2: adicionar o App Distribution ao seu aplicativo

O App Distribution Android SDK consiste em duas bibliotecas:

  • firebase-appdistribution-api : a biblioteca somente de API, que você pode incluir em todas as variantes de compilação .
  • firebase-appdistribution : a implementação completa do SDK (opcional).

A biblioteca somente API permite que seu código faça chamadas para o SDK. As chamadas não terão efeito se a implementação completa do SDK não estiver presente.

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

  2. Para evitar a inclusão da funcionalidade de autoatualização completa da implementação do SDK em seus builds do Google Play, identifique as variantes de build, incluindo tipos de build ou variações de produtos que você distribuirá por meio do App Distribution.

  3. Declare a dependência do SDK do Android do App Distribution no arquivo Gradle do módulo (nível do aplicativo) (geralmente app/build.gradle ). Adicione a implementação completa do SDK apenas a variantes destinadas exclusivamente a 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-beta12")
    
        // ADD the full SDK implementation to the "beta" variant only (example)
        betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta12")
    }
    

    Java

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

Etapa 3: configurar feedback no aplicativo

Para coletar feedback dos testadores, use um dos seguintes gatilhos para permitir que os testadores iniciem o feedback:

  • Gatilho de notificação integrado : o SDK do Android do App Distribution pode exibir uma notificação contínua que o testador pode tocar em qualquer lugar do aplicativo. Use esse gatilho se quiser começar mais rapidamente e não precisar personalizar a forma como os testadores fornecem feedback.

  • Gatilho personalizado : você pode fornecer seu próprio mecanismo de gatilho, como tocar em um botão ou item de menu em seu aplicativo ou agitar o dispositivo.

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

  1. Captura uma captura de tela da atividade atual do aplicativo.

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

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

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

Use showFeedbackNotification() para exibir uma notificação persistente ou contínua no dispositivo do testador, na qual ele pode tocar para iniciar o feedback. Ao configurar a notificação, você precisa fornecer algum texto que será exibido ao testador antes que ele envie o feedback e um nível de interrupção para a notificação (correspondente à importância do canal de notificação). Se quiser avisar seus testadores sobre a coleta e o processamento de seus dados de feedback, você pode usar o texto para fornecer tal aviso.

Quando você usa showFeedbackNotification() e quando o aplicativo vai para segundo plano, a notificação fica oculta. Se você quiser ocultar explicitamente a notificação, use cancelFeedbackNotification() . Recomendamos que você coloque showFeedbackNotification() no onCreate() da sua 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 feedback usando um mecanismo de sua escolha. Por exemplo, para acionar feedback, você pode adicionar um item de menu "Enviar feedback" ao menu de ação do seu aplicativo ou permitir que os testadores sacudam o dispositivo ou façam uma captura de tela . Ao acionar o feedback, forneça algum texto que será mostrado ao testador antes que ele envie o feedback. Se quiser avisar seus testadores sobre a coleta e o processamento de seus dados de feedback, você pode usar este texto para fornecer esse aviso.

Kotlin+KTX

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

Java

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

Etapa 4: crie e teste sua implementação

Testes locais

Para testar sua implementação sem precisar distribuir o aplicativo primeiro, siga estas etapas:

  1. Ative o modo dev no seu dispositivo local:

    adb shell setprop debug.firebase.appdistro.devmode true
    
  2. Crie seu aplicativo como uma variante de pré-lançamento que inclui as bibliotecas completas do App Distribution e teste se você pode acionar feedback usando o mecanismo implementado na Etapa 3: Configurar feedback no aplicativo . O feedback não é enviado no modo de desenvolvimento.

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

    adb shell setprop debug.firebase.appdistro.devmode false
    

Teste de ponta a ponta

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

  1. Carregue uma nova versão do aplicativo no App Distribution.

  2. Distribua a versão do aplicativo para uma conta que você tenha permissão de acesso.

  3. Baixe o aplicativo através do aplicativo testador web ou Android da App Distribution.

  4. Acione feedback usando o mecanismo implementado na Etapa 3: Configurar feedback no aplicativo .

  5. Certifique-se de estar conectado com a mesma conta para a qual distribuiu a versão do aplicativo e envie comentários.

  6. Veja seu feedback no card da nova versão no console do Firebase .

Para saber como resolver problemas comuns, como testadores incapazes de iniciar feedback no aplicativo, consulte Habilitar recursos de teste com o SDK .

Etapa 5: gerenciar o feedback do testador

Depois de permitir que seus testadores enviem feedback, você poderá usar as seguintes ferramentas para revisar e agir de acordo com esse feedback:

Ver e excluir comentários no Console do Firebase

Você pode revisar e excluir comentários de usuários, incluindo capturas de tela, abrindo a guia Feedback do testador em uma versão específica no console do Firebase. O feedback do usuário é organizado por versão para que você possa confirmar a versão à qual o feedback se aplica.

Depois de analisar o feedback do usuário, você pode excluí-lo clicando no botão Excluir feedback . O feedback excluído é removido do seu comunicado.

Receba alertas por e-mail para novos comentários

Para aprender proativamente sobre o feedback de novos testadores, você pode receber alertas por e-mail quando um testador enviar feedback. O alerta por e-mail inclui o feedback por escrito fornecido pelo testador e um link para todas as capturas de tela enviadas.

Para receber alertas por e-mail do App Distribution por meio desse mecanismo padrão, você deve ter a permissão firebase.projects.update . As seguintes funções incluem esta permissão necessária por padrão: Firebase Admin ou proprietário ou editor do projeto.

Por padrão, todos os membros do projeto que tenham as permissões necessárias para receber alertas por email receberão um email quando um novo relatório de feedback for enviado. Os membros do projeto podem cancelar individualmente esses alertas.

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

Envie novos comentários para ferramentas de terceiros

Você também pode enviar alertas do App Distribution para o canal de notificação preferido da sua equipe usando o Cloud Functions para Firebase. Por exemplo, você pode escrever uma função que capture um evento de alerta para novos comentários no aplicativo e publique as informações de alerta em um serviço de terceiros, como Discord, Slack ou Jira.

Para configurar recursos avançados de alertas usando o Cloud Functions para Firebase, siga estas etapas:

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

    1. Baixe Node.js e npm.

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

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

  2. Escreva e implante uma função que capture um evento de alerta de feedback no aplicativo do App Distribution e lide com a carga útil do evento (por exemplo, publique as informações de alerta em uma mensagem no Discord).

Para ver um exemplo de função que mostra como enviar novos comentários ao Jira, consulte este exemplo .

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