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 Integrando o Firebase App Distribution SDK em seu aplicativo Android. Neste codelab, você adicionará o SDK para Android do App Distribution ao seu aplicativo para exibir alertas no aplicativo para seus testadores quando novos builds estiverem disponíveis para download. Você aprenderá como usar uma configuração básica e uma configuração personalizada para fazer com que seus testadores se conectem para receber atualizações. Em seguida, você enviará uma nova versão para o App Distribution e acionará um novo alerta de compilação diretamente no aplicativo.

O que você aprenderá

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

O que você precisará

  • Última versão 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-o apenas Leia-o e complete os exercícios

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

Novato Intermediário Proficiente

2. Obtenha o código de amostra

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 pode baixar o projeto de exemplo 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 ) do download do código de exemplo ( File > Open > .../codelab-appdistribution-android/start).

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

4. Crie um projeto de console do Firebase

Adicionar 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 o nome do pacote.

Adicione o arquivo google-services.json ao seu aplicativo

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

  1. Clique em Baixar google-services.json para obter o arquivo de configuração do Firebase Android.
  2. Copie o arquivo google-services.json para o diretório app em 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 à esquerda (guia Projeto), verifique se você está 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 novos alertas de compilação no aplicativo com o App Distribution Android SDK

Nesta etapa, você adicionará o SDK para Android do Firebase App Distribution ao seu aplicativo e exibirá alertas no aplicativo para seus testadores quando novos builds 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 Console do Google Cloud). Você precisa entrar com a mesma conta e selecionar o projeto correto no menu suspenso na parte superior.

Configurar alertas no aplicativo

O Android SDK do App Distribution fornece 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é-criada para exibir aos testadores.
  • Uma configuração de alerta avançada, que permite personalizar sua interface de usuário (UI).

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

  1. Verifica se um testador habilitou alertas. Caso contrário, o método exibe uma caixa de diálogo pré-criada que solicita aos testadores que 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 nas 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á novas compilações disponíveis para o testador instalar.
  2. Exibe um alerta pré-criado 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 andamento do download para o 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 em seu aplicativo. Por exemplo, você pode 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

   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 compilação para testadores usando o Firebase console.

Crie seu aplicativo

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

Distribua seu app para testadores

Para distribuir seu app aos testadores, faça upload do arquivo APK usando o Firebase console:

  1. Abra a página App Distribution do Firebase console. Selecione seu projeto do Firebase quando solicitado.
  2. Na página Releases, 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 o build. (Adicione seu e-mail para receber o convite.) Em seguida, adicione notas de versão para o build. 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 para os 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-o a testar o aplicativo. Agora você é o primeiro testador! Siga as instruções em Aceitar o convite para se configurar como testador em seu dispositivo de teste.

Aceite o convite

Você precisará primeiro aceitar o convite para baixar e testar o lançamento.

  1. Em seu dispositivo Android de teste, abra o e-mail enviado pelo Firebase App Distribution e toque em Começar .
  2. No aplicativo da Web do testador do Firebase App Distribution exibido, faça login com sua conta do Google e toque em Aceitar convite. Agora você pode ver o lançamento para o qual foi convidado a testar.

c18cb684f8e82ad6.png

Baixe a versão do dispositivo de teste

Ao navegar até o aplicativo de 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ê retorna ao aplicativo. Na próxima vez que você executar o aplicativo, não precisará 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 seu processo normal. Você deve assinar o APK com sua chave de depuração ou chave de assinatura do aplicativo.
  3. Carregue este novo APK em seu console do Firebase, adicione seu e-mail como testador novamente e clique em Distribuir .

2dfa702edfdce6b8.png

Alertas de compilação 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 habilitar 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 entrada do testador, para que ela corresponda melhor à aparência do seu aplicativo.

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

Vamos desabilitar 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 ao OnClickListener do botão de atualização.

Agora, vamos implementar nosso método signIn() que irá conectar o 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()
        }
    }

Por fim, 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ê criou o recurso "exibição de alertas no aplicativo" em um aplicativo usando o Firebase App Distribution Android SDK.

O que cobrimos

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

Próximos passos

Saber mais

Ter uma questão?

Relatar problemas