Alerte os testadores sobre as novas versões do app com o SDK do Firebase App Distribution para Android – Codelab

1. Visão geral

c7a9160ef7b184c7.png 22e0b52f771c060d.png

Este é o codelab "Como integrar o SDK do Firebase App Distribution no seu app Android". Neste codelab, você vai adicionar o SDK do Android do App Distribution ao seu app para mostrar alertas aos testadores quando novos builds estiverem disponíveis para download. Você vai aprender a usar uma configuração básica e uma personalizada para que os testadores façam login e recebam atualizações. Em seguida, você vai enviar uma nova versão para o App Distribution e acionar um novo alerta de build no app.

O que você vai aprender

  • Como usar o App Distribution para distribuir um app de pré-lançamento para os testadores
  • Como integrar o SDK do Android para App Distribution ao seu app
  • Como alertar um testador quando houver um novo build de pré-lançamento pronto para instalação
  • Como personalizar o SDK para atender às suas necessidades de teste

O que é necessário

  • Versão mais recente do Android Studio.
  • Exemplo de código.
  • Um dispositivo de teste com o Android 4.4 ou versões mais recentes e o Google Play Services 9.8 ou versões mais recentes, ou um emulador com o Google Play Services 9.8 ou versões mais recentes.
  • Se estiver usando um dispositivo, um cabo de conexão.

Como você usará este tutorial?

Somente leitura Ler e fazer os exercícios

Como você classificaria sua experiência com a criação de apps Android?

Iniciante Intermediário Proficiente

2. Acessar o exemplo de código

Clone o repositório do GitHub na linha de comando.

$ git clone https://github.com/FirebaseExtended/codelab-appdistribution-android.git

Se você não tiver o git instalado, faça o download do projeto de exemplo na página do GitHub ou clique neste link (link em inglês).

3. Importar o app inicial

No Android Studio, selecione o diretório codelab-appdistribution-android/start ( android_studio_folder.png) no download do exemplo de código (File > Open > .../codelab-appdistribution-android/start).

O projeto inicial deve estar aberto no Android Studio.

4. Criar um projeto do Console do Firebase

Adicionar um novo projeto do Firebase

  1. Abra o Console do Firebase.
  2. Selecione Adicionar projeto e nomeie o projeto como "Firebase Codelab".

Você não precisa ativar o Google Analytics neste projeto.

  1. Clique em Criar projeto.

Adicionar um app ao Firebase

Registre seu app com o Firebase. Use "com.google.firebase.appdistributioncodelab" como o nome do pacote.

Adicionar o arquivo google-services.json ao app

Depois de adicionar o nome do pacote e selecionar "Registrar", siga estas etapas para adicionar o google-services.json ao app:

  1. Clique em Fazer o download do google-services.json para receber o arquivo de configuração do Firebase para Android.
  2. Copie o arquivo google-services.json para o diretório app do seu projeto.
  3. Depois que o arquivo for transferido, você poderá Pular as próximas etapas mostradas no console. Elas já foram concluídas no projeto build-android-start.

Atualizar o ID do app para corresponder ao seu app do Firebase

  1. No menu à esquerda (guia "Project"), verifique se você está na visualização "Android" e localize a guia "Gradle Scripts" e abra o arquivo do Gradle do módulo (nível do app), geralmente app/build.gradle.kts.
  2. Altere a propriedade applicationId para corresponder ao ID do seu app do Firebase. Deve ser "com.google.firebase.appdistributioncodelab"

Sincronizar o projeto com arquivos do Gradle

Para garantir que todas as dependências estejam disponíveis para o app, sincronize seu projeto com os arquivos do Gradle selecionando File > Sync Project with Gradle Files na barra de ferramentas do Android Studio.

5. Configurar novos alertas de build no app com o SDK do Android para App Distribution

Nesta etapa, você vai adicionar o SDK do Firebase App Distribution para Android ao seu app e mostrar alertas no app para os testadores quando novos builds estiverem disponíveis para instalação. Para isso, verifique se você ativou a API Firebase App Testers para seu projeto "Firebase Codelab" (no console do Google Cloud). Você precisa fazer login com a mesma conta e selecionar o projeto correto no menu suspenso na parte de cima.

Configurar alertas no app

O SDK do App Distribution para Android oferece duas maneiras de configurar alertas de build no app para os testadores:

  • Uma configuração básica de alerta, que vem com uma caixa de diálogo predefinida para ser exibida aos testadores.
  • Uma configuração de alerta avançada, que permite personalizar a interface do usuário (IU).

Vamos começar com a configuração básica de alertas. Use updateIfNewReleaseAvailable para mostrar uma caixa de diálogo predefinida "Ativar alertas" para os testadores que ainda não ativaram os alertas e verificar se um novo build está disponível. Para ativar os alertas, os testadores fazem login em uma conta que tem acesso ao app no App Distribution. Quando chamado, o método gera a seguinte sequência:

  1. Verifica se um testador ativou alertas. Caso contrário, o método exibe uma caixa de diálogo pré-criada que solicita que os testadores façam login no App Distribution com a Conta do Google.

Ativar alertas é um processo único no dispositivo de teste que persiste entre as atualizações do app. Os alertas permanecem ativados no dispositivo de teste até que o app seja desinstalado ou o método signOutTester seja chamado.

  1. Verifica se há builds recém-disponibilizados para a instalação do testador.
  2. Exibe um alerta pré-criado solicitando que o testador faça o download da versão mais recente.
  3. Verifica o novo tipo de build antes de continuar com a atualização:
  4. Se o novo build for um pacote de app (AAB), o testador será redirecionado para a Play Store para concluir o processo de atualização.
  5. Se a nova versão for um APK, o SDK fará o download da nova versão em segundo plano e solicitará que o testador instale a nova versão quando o download for concluído. O SDK envia notificações de progresso de download ao usuário usando NotificationManager.. Você pode adicionar seu próprio indicador de progresso anexando um gerenciador onProgressUpdate à tarefa updateIfNewReleaseAvailable.

Você pode chamar updateIfNewReleaseAvailable() a qualquer momento no app. Por exemplo, é possível chamar updateIfNewReleaseAvailable() durante o método onResume() da MainActivity:

Abra MainActivity.kt e crie o método onResume() assim:

MainActivity.kt

override fun onResume() {
    super.onResume()
    checkForUpdate()
}

Agora, vamos implementar o método checkForUpdate().

MainActivity.kt (link em inglês)

   private fun checkForUpdate() {
        firebaseAppDistribution.updateIfNewReleaseAvailable()
            .addOnProgressListener { updateProgress ->
                // (Optional) Implement custom progress updates in addition to
                // automatic NotificationManager updates.
            }
            .addOnFailureListener { e ->
                if (e is FirebaseAppDistributionException) {
                    // Handle exception.
                }
            }
    }

6. Criar e convidar testadores para fazer o download do app

Nesta etapa, você cria seu app e testa a implementação distribuindo o build para os testadores usando o Console do Firebase.

Criar seu app

Quando estiver tudo pronto para distribuir uma versão de pré-lançamento do app para os testadores, crie o APK usando seu processo normal. Você precisa assinar o APK com sua chave de depuração ou chave de assinatura do app.

Distribuir seu app para os testadores

Para distribuir seu aplicativo para os testadores, faça o upload do arquivo APK usando o Console do Firebase:

  1. Abra a página "App Distribution" do Console do Firebase. Selecione seu projeto do Firebase quando solicitado.
  2. Na página "Versões", selecione o app que você quer distribuir no menu suspenso.

623460c3c8a82ce6.png

  1. Clique em Começar.

bf503b25066ff4a4.png

  1. Arraste o arquivo APK do seu aplicativo para o console para fazer o upload.
  2. Quando o upload for concluído, especifique os grupos de testadores e os testadores individuais que devem receber o build. Adicione seu e-mail para receber o convite. Em seguida, adicione notas ao build. Para saber mais sobre a criação de grupos de testadores, consulte Adicionar e remover testadores.

3343048f0930e84b.png

  1. Clique em Distribuir para disponibilizar o build para os testadores.

2be58fe195928bf9.png

No Console do Firebase, agora é possível conferir os testadores adicionados na versão do app.

9935a41810344c61.png

Como você incluiu seu endereço de e-mail, vai receber um e-mail do Firebase App Distribution convidando você a testar o app. Você é o primeiro testador! Siga as instruções em "Aceitar o convite" para se inscrever como testador no dispositivo.

Aceitar o convite

Primeiro, você precisa aceitar o convite para fazer o download e testar a versão.

  1. No dispositivo de teste Android, abra o e-mail enviado pelo Firebase App Distribution e toque em Começar.
  2. No app da Web para testadores do Firebase App Distribution, faça login com sua Conta do Google e toque em Aceitar convite. Agora você pode ver a versão que recebeu convite para testar.

c18cb684f8e82ad6.png

Faça o download da versão no dispositivo de teste

Quando você navega até o app do codelab AppDistribution, percebe que a versão está pronta para download.

5414d9a536f25ece.png

  1. Toque em Fazer o download, instale e execute o app.
  2. Quando o app for iniciado, ele vai pedir que você ative os novos alertas de build. Toque em Ativar.

b059e09acaa4779f.png

  1. Faça login com sua conta de testador.

22e0b52f771c060d.png

Você vai voltar ao app. Na próxima vez que você executar o app, não será necessário fazer login nem aceitar alertas

c9f33df16a2680d.png

Distribuir uma atualização para seus testadores

  1. Atualize o versionName para "1.1". e versionCode como 2 no arquivo Gradle do módulo (nível do app), geralmente app/build.gradle.
  2. Crie o APK usando seu processo normal. Você precisa assinar o APK com sua chave de depuração ou chave de assinatura do app.
  3. Faça o upload do novo APK no Console do Firebase, adicione seu e-mail como testador novamente e clique em Distribuir.

2dfa702edfdce6b8.png

Testar alertas de build

  1. Feche o app se ele estiver aberto.
  2. Reinicie o app.
  3. Quando o app é reiniciado, você recebe um alerta de "Nova versão disponível".

987e3d0ba4e56f84.png

  1. Para receber a versão mais recente, clique em Atualizar.
  2. Se necessário, escolha a opção para ativar as instalações de fontes desconhecidas.
  3. Clique em Instalar (ou Atualizar) na próxima tela.

a7c7cd15d60bc764.png

  1. Parabéns! Você conseguiu atualizar o app com os alertas integrados.

7. Personalizar o login do testador

Os métodos signInTester/signOutTester e isTesterSignedIn oferecem mais flexibilidade para personalizar a experiência de login do testador para corresponder melhor com a experiência do app.

O exemplo a seguir verifica se o testador já fez login na conta dele do Firebase App Distribution. Assim, você pode mostrar a interface de login apenas para os testadores que ainda não fizeram login. Depois que o testador fizer login, você pode chamar checkForUpdate para verificar se tem acesso a um novo build.

Vamos desativar a verificação automática de atualizações em onResume comentando a chamada checkForUpdate().

MainActivity.kt (link em inglês)

override fun onResume() {
        super.onResume()
        //checkForupdate()
    }

Em vez disso, checkForUpdate() já foi adicionado ao OnClickListener do updatebutton.

Agora, vamos implementar nosso método signIn(), que vai fazer login do usuário se ele estiver desconectado ou fazer logout se ele já estiver conectado.

MainActivity.kt

    private fun signIn() {
        if (isTesterSignedIn()) {
            firebaseAppDistribution.signOutTester()
            configureUpdateButton()
            configureSigninButton()
        } else {
            firebaseAppDistribution.signInTester()
        }
    }

Por fim, vamos implementar o método isTesterSignedIn.

MainActivity.kt

    private fun isTesterSignedIn() : Boolean {
        return firebaseAppDistribution.isTesterSignedIn
    }

Criar e testar a implementação

8. Parabéns!

Você criou a "exibição de alertas no app" em um app usando o SDK do Firebase App Distribution para Android.

O que vimos

  • Firebase App Distribution
  • SDK do Firebase App Distribution New Alerts para Android

Próximas etapas

Saiba mais

Perguntas?

Informar problemas