Alerte os testadores sobre seus novos lançamentos de aplicativos com o SDK do Firebase App Distribution para Android - Codelab

1. Visão Geral

c7a9160ef7b184c7.png22e0b52f771c060d.png

Bem-vindo ao codelab Integração do SDK de distribuição de aplicativos do Firebase em seu aplicativo Android. Neste codelab, você adicionará o SDK Android do App Distribution ao seu aplicativo para exibir alertas no aplicativo aos testadores quando novas versões estiverem disponíveis para download. Você aprenderá como usar uma configuração básica e uma configuração personalizada para que seus testadores façam login para receber atualizações. Em seguida, você enviará uma nova versão para o App Distribution e acionará um novo alerta de build diretamente no aplicativo.

O que você aprenderá

  • Como usar o App Distribution para distribuir um aplicativo de pré-lançamento para testadores
  • Como integrar o SDK Android do App Distribution ao seu aplicativo
  • Como alertar um testador quando há uma nova versão de pré-lançamento pronta para instalação
  • Como personalizar o SDK para atender às suas necessidades de teste

O que você precisará

  • Versão mais recente do Android Studio .
  • Código de amostra.
  • Um dispositivo de teste com Android 4.4+ e Google Play Services 9.8 ou posterior, ou um emulador com Google Play Services 9.8 ou posterior.
  • Se estiver usando um dispositivo, um cabo de conexão.

Como você usará este tutorial?

Leia apenas Leia e complete os exercícios

Como você avaliaria sua experiência na criação de aplicativos Android?

Novato Intermediário Proficiente

2. Obtenha o código de exemplo

Clone o repositório GitHub na linha de comando.

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

Se você não tiver o git instalado, também poderá baixar o projeto de amostra na página do GitHub ou clicando neste link .

3. Importe o aplicativo inicial

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

Agora você deve ter o projeto inicial aberto no Android Studio.

4. Crie um projeto de console do Firebase

Adicione um novo projeto do Firebase

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

Você não precisa ativar o Google Analytics para este projeto.

  1. Clique em Criar projeto .

Adicionar um aplicativo ao Firebase

Registre seu aplicativo no Firebase . Use "com.google.firebase.appdistributioncodelab" como nome do pacote.

Adicione o arquivo google-services.json ao seu aplicativo

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

  1. Clique em Baixar google-services.json para obter seu arquivo de configuração do Firebase Android.
  2. Copie o arquivo google-services.json no diretório app do seu projeto.
  3. Após o download do arquivo, você pode pular as próximas etapas mostradas no console (elas já foram feitas para você no projeto build-android-start).

Atualize o ID do aplicativo para corresponder ao seu aplicativo Firebase

  1. No menu esquerdo (guia Projeto), certifique-se de estar na visualização "Android", localize a guia "Scripts Gradle" e abra o arquivo Gradle do módulo (nível do aplicativo) (geralmente app/build.gradle.kts ).
  2. Altere a propriedade applicationId para corresponder ao ID do seu aplicativo Firebase. Deve ser "com.google.firebase.appdistributioncodelab"

Sincronize seu projeto com arquivos Gradle

Para garantir que todas as dependências estejam disponíveis para seu aplicativo, sincronize seu projeto com arquivos Gradle selecionando Arquivo > Sincronizar projeto com arquivos Gradle na barra de ferramentas do Android Studio.

5. Configure alertas de nova compilação no aplicativo com o App Distribution Android SDK

Nesta etapa, você adicionará o SDK Android do Firebase App Distribution ao seu aplicativo e exibirá alertas no aplicativo para seus testadores quando novas versões do seu aplicativo estiverem disponíveis para instalação. Para fazer isso, certifique-se de ter ativado a API Firebase App Testers para seu projeto "Firebase Codelab" (no Google Cloud Console). Você precisa fazer login com a mesma conta e selecionar o projeto correto no menu suspenso na parte superior.

Configurar alertas no aplicativo

O SDK do Android do App Distribution oferece duas maneiras de configurar alertas de compilação no aplicativo para seus testadores:

  • Uma configuração básica de alerta, que vem com uma caixa de diálogo pré-construída para exibir aos testadores.
  • Uma configuração de alerta avançada que permite personalizar sua interface de usuário (IU).

Começaremos com a configuração básica do alerta. Você pode usar updateIfNewReleaseAvailable para exibir uma caixa de diálogo de ativação de alertas pré-construída para testadores que ainda não ativaram alertas e, em seguida, verificar se uma nova compilação está disponível. Os testadores habilitam alertas fazendo login em uma conta que tenha acesso ao aplicativo no App Distribution. Quando chamado, o método executa a seguinte sequência:

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

A ativação de alertas é um processo único no dispositivo de teste que persiste durante as atualizações do seu aplicativo. Os alertas permanecem ativados no dispositivo de teste até que o aplicativo seja desinstalado ou até que o método signOutTester seja chamado.

  1. Verifica se há compilações recentemente disponíveis para o testador instalar.
  2. Exibe um alerta predefinido solicitando que o testador baixe a versão mais recente.
  3. Verifica o novo tipo de compilação antes de prosseguir com a atualização:
  4. Se a nova compilação for um App Bundle (AAB), redireciona o testador para a Play Store para concluir o processo de atualização.
  5. Se a nova compilação for um APK, o SDK fará o download da nova compilação em segundo plano e solicitará que o testador instale a nova compilação quando o download for concluído. O SDK envia notificações de progresso do download ao usuário usando NotificationManager. Você pode adicionar seu próprio indicador de progresso anexando um manipulador onProgressUpdate à tarefa updateIfNewReleaseAvailable .

Você pode chamar updateIfNewReleaseAvailable() a qualquer momento do seu aplicativo. Por exemplo, você pode chamar updateIfNewReleaseAvailable() durante o método onResume() de 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

   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. Crie e convide testadores para baixar seu aplicativo

Nesta etapa, você cria seu aplicativo e testa sua implementação distribuindo a versão aos testadores usando o console do Firebase.

Crie seu aplicativo

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

Distribua seu aplicativo para testadores

Para distribuir seu aplicativo aos testadores, faça 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 Lançamentos, selecione o aplicativo que deseja 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 carregá-lo.
  2. Quando o upload for concluído, especifique os grupos de testadores e os testadores individuais que você deseja que recebam a compilação. (Adicione seu e-mail para receber o convite.) Em seguida, adicione notas de versão para a compilação. Para saber mais sobre como criar grupos de testadores, consulte Adicionar e remover testadores .

3343048f0930e84b.png

  1. Clique em Distribuir para disponibilizar a compilação aos testadores.

2be58fe195928bf9.png

No console do Firebase, agora você pode ver os testadores adicionados na versão do seu aplicativo.

9935a41810344c61.png

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

Aceite o convite

Você precisará primeiro aceitar o convite para baixar e testar a versão.

  1. No seu dispositivo de teste Android, abra o e-mail enviado pelo Firebase App Distribution e toque em Primeiros passos .
  2. No aplicativo da web testador do Firebase App Distribution que aparece, faça login com sua conta do Google e toque em Aceitar convite. Agora você pode ver a versão que foi convidado a testar.

c18cb684f8e82ad6.png

Baixe a versão do dispositivo de teste

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

5414d9a536f25ece.png

  1. Toque em Baixar , instale e execute o aplicativo!
  2. Quando o aplicativo é iniciado, ele solicita que você habilite novos alertas de compilação. Toque em Ativar .

b059e09acaa4779f.png

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

22e0b52f771c060d.png

Você retornará ao aplicativo. Na próxima vez que você executar o aplicativo, não será necessário fazer login ou aceitar alertas

c9f33df16a2680d.png

Distribua uma atualização para seus testadores

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

2dfa702edfdce6b8.png

Alertas de build de teste

  1. Certifique-se de fechar o aplicativo se ele estiver aberto.
  2. Reinicie o aplicativo.
  3. Quando o aplicativo for reiniciado, você receberá um alerta de 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 permitir instalações de fontes desconhecidas.
  3. Clique em Instalar (ou Atualizar ) na próxima tela.

a7c7cd15d60bc764.png

  1. Parabéns! Você conseguiu atualizar seu aplicativo com os alertas integrados.

7. Personalize o login do testador

Os métodos signInTester/signOutTester e isTesterSignedIn oferecem mais flexibilidade para personalizar a experiência de login do seu testador, para que possa corresponder melhor à aparência do seu aplicativo.

O exemplo a seguir verifica se o testador já fez login na conta de testador do Firebase App Distribution. Assim, você pode optar por exibir sua IU de login apenas para testadores que ainda não fizeram login. chame checkForUpdate para verificar se o testador tem acesso a uma nova compilação.

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

MainActivity.kt

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

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

Agora, vamos implementar nosso método signIn() que fará login no usuário se ele estiver desconectado ou desconectará o usuário se ele já estiver conectado.

MainActivity.kt

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

Finalmente vamos implementar o método isTesterSignedIn .

MainActivity.kt

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

Crie e teste sua implementação

8. Parabéns!

Você incorporou o recurso "exibição de alertas no aplicativo" em um aplicativo usando o SDK do Firebase App Distribution para Android.

O que cobrimos

  • Distribuição de aplicativos Firebase
  • Firebase App Distribution Novos alertas Android SDK

Próximos passos

Saber mais

Ter uma questão?

Relatar problemas