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

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

1. Visão Geral

c7a9160ef7b184c7.png22e0b52f771c060d.png

Bem-vindo à integração do SDK do Firebase App Distribution no codelab do seu aplicativo Android. Neste codelab, você adicionará o SDK do App Distribution para Android ao seu aplicativo para exibir alertas no aplicativo para seus testadores quando novas compilações estiverem disponíveis para download. Você aprenderá a usar uma configuração básica e uma configuração personalizada para fazer com que seus testadores entrem 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ê vai 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 houver 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á

  • Android Studio versão 3.4+.
  • Código de amostra.
  • Um dispositivo de teste com Android 2.3+ 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ê vai usar este tutorial?

Leia-o apenas Leia e complete os exercícios

Como você classificaria 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 do 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 exemplo na página do GitHub ou clicando neste link .

3. Importe o aplicativo inicial

No Android Studio, selecione o codelab-appdistribution-android/start ( android_studio_folder.png ) do download do código de amostra ( 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 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 do 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" e localize a guia "Scripts Gradle" e abra o arquivo Gradle do módulo (nível do aplicativo) (geralmente app/build.gradle ).
  2. Altere a propriedade applicationId para corresponder ao ID do aplicativo do 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 SDK do Android do App Distribution

Nesta etapa, você adicionará o SDK do Firebase App Distribution para Android 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, verifique se você ativou 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 App Distribution para Android 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é-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 de alerta. Você pode usar updateIfNewReleaseAvailable para exibir uma caixa de diálogo de alertas de habilitação pré-criada para testadores que ainda não habilitaram alertas e, em seguida, verificar se uma nova compilação está disponível. Os testadores habilitam alertas entrando 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 pré-criada 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 nas atualizações do seu aplicativo. Os alertas permanecem habilitados no dispositivo de teste até que o aplicativo seja desinstalado ou até que o método signOutTester seja chamado.

  1. Verifica as compilações recém-disponíveis para o testador instalar.
  2. Exibe um alerta pré-criado solicitando ao testador que 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 versã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 de 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() em qualquer ponto do 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 versão para testadores usando o console do Firebase.

Crie seu aplicativo

Quando estiver pronto para distribuir uma versão de pré-lançamento do seu app 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 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 Releases, selecione o aplicativo que você 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 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 para os testadores.

2be58fe195928bf9.png

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

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. Você agora é o primeiro testador! Siga as instruções em Aceitar o convite para configurar como testador em 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 do Firebase App Distribution e toque em Primeiros passos .
  2. No app da Web do 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 para a qual foi convidado a testar.

c18cb684f8e82ad6.png

Baixe a versão do dispositivo de teste

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

5414d9a536f25ece.png

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

b059e09acaa4779f.png

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

22e0b52f771c060d.png

Você está de volta ao aplicativo. Na próxima vez que você executar o aplicativo, não precisará fazer login ou aceitar alertas

c9f33df16a2680d.png

Distribuir 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 é 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 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 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, 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 de atualizações automaticamente em onResume comentando a chamada checkForUpdate() .

MainActivity.kt

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

Em vez disso, checkForUpdate() já foi adicionado no OnClickListener do botão de atualização.

Agora, vamos implementar nosso método signIn() que fará o login do 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ê criou 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 do Firebase
  • Novos alertas do Firebase App Distribution SDK do Android

Próximos passos

Saber mais

Ter uma questão?

Relatar problemas