Alertar os testadores sobre as novas versões do seu 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 App Distribution para Android 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. Depois, você enviará uma nova versão para o App Distribution e acionará um novo alerta de build diretamente no app.

Conteúdo

  • Como usar o App Distribution para distribuir um app de pré-lançamento aos testadores
  • Como integrar o SDK do App Distribution para Android ao seu app
  • Como alertar um testador quando há 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 mais recente e o Google Play Services 9.8 ou mais recente, ou um emulador com o Google Play Services 9.8 ou mais recente.
  • Se estiver usando um dispositivo, um cabo de conexão.

Como você usará este tutorial?

Apenas 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 o git não estiver instalado, faça o download do projeto de exemplo na página do GitHub ou clique neste link.

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 está 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 dê a ele o nome "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 nome do pacote.

Adicionar o arquivo google-services.json ao seu app

Depois de adicionar o nome do pacote e selecionar "Registrar", siga estas etapas para adicionar 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 no diretório app do projeto.
  3. Depois de fazer o download do arquivo, você pode clicar em Skip para pular as próximas etapas mostradas no console. Elas já foram realizadas no projeto build-android-start.

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

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

Sincronizar seu 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 aos testadores quando novos builds estiverem disponíveis para instalação. Para fazer isso, ative 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 superior.

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 pré-criada para exibição aos testadores.
  • Uma configuração avançada de alertas, que permite personalizar a interface do usuário.

Começaremos com a configuração básica de alertas. Você pode usar updateIfNewReleaseAvailable para mostrar uma caixa de diálogo pré-criada de ativação de alertas aos testadores que ainda não ativaram os alertas e conferir se há um novo build disponível. Para ativar os alertas, os testadores fazem login em uma conta com 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 vai mostrar uma caixa de diálogo pré-criada que solicita que os testadores façam login no App Distribution com a Conta do Google.

A ativação de 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 até que o método signOutTester seja chamado.

  1. Verifica se há builds recém-disponibilizados para a instalação do testador.
  2. Mostra 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 apps (AAB), o testador vai ser redirecionado à Play Store para concluir o processo de atualização.
  5. Se o novo build for um APK, o SDK fará o download dele em segundo plano e solicitará que o testador instale o novo build quando o download for concluído. O SDK envia notificações de progresso de download para o 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, você pode chamar updateIfNewReleaseAvailable() durante o método onResume() da MainActivity:

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

MainActivity.kt (link em inglês)

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ê vai criar o app e testar a implementação distribuindo o build para testadores usando o Console do Firebase.

Criar seu app

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

Distribuir seu app para os testadores

Para distribuir seu app 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 como criar 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 ver os testadores adicionados à versão do app.

9935a41810344c61.png

Como você incluiu seu endereço de e-mail, receberá um e-mail do Firebase App Distribution com um convite para testar o aplicativo. Agora você é o primeiro testador. Siga as instruções em "Aceitar o convite" para se configurar como testador no dispositivo de teste.

Aceitar o convite

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

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

c18cb684f8e82ad6.png

Fazer o download da versão no dispositivo de teste

Ao navegar até o app do codelab do AppDistribution, você verá que a versão está pronta para download.

5414d9a536f25ece.png

  1. Toque em Fazer o download, depois instale e execute o app.
  2. Quando o app é iniciado, ele pede que você ative novos alertas de build. Toque em Ativar.

b059e09acaa4779f.png

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

22e0b52f771c060d.png

Você voltará ao app. Na próxima vez que o executar, 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 o 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 de assinatura do app.
  3. Faça o upload desse novo APK no Console do Firebase, adicione seu e-mail como testador novamente e clique em Distribuir.

2dfa702edfdce6b8.png

Testar alertas de build

  1. Confira se você fechou o app aberto.
  2. Reinicie o app.
  3. Quando o app for reiniciado, você receberá um alerta "Nova versão disponível".

987e3d0ba4e56f84.png

  1. Para receber a versão mais recente, clique em Atualizar.
  2. Se solicitado, escolha a opção para ativar 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

Com os métodos signInTester/signOutTester e isTesterSignedIn, você tem mais flexibilidade para personalizar a experiência de login do testador para que possa combinar melhor a aparência do app.

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

Vamos desativar a verificação de atualizações automaticamente 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 o método signIn(), que vai conectar o usuário se ele estiver desconectado ou desconectará o usuário se ele já estiver conectado.

MainActivity.kt (link em inglês)

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

Por fim, vamos implementar o método isTesterSignedIn.

MainActivity.kt (link em inglês)

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

Criar e testar a implementação

8. Parabéns!

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

O que vimos

  • Firebase App Distribution
  • SDK para Android de novos alertas do Firebase App Distribution

Próximas etapas

Saiba mais

Perguntas?

Informar problemas