1. Visão Geral
Bem-vindo ao codelab Integrando o Firebase App Distribution SDK no seu aplicativo iOS. Neste codelab, você adicionará o SDK do App Distribution ao seu app para exibir alertas no app aos 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 aplicativo de pré-lançamento para testadores ao vivo
- Como integrar o SDK do iOS do App Distribution ao 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 exclusivas
O que você precisará
- Xcode 12 (ou superior)
- CocoaPods 1.9.1 (ou superior)
- Uma conta de desenvolvedor da Apple para distribuição Ad Hoc
- Um dispositivo iOS físico para teste. (O aplicativo simulador do iOS funcionará na maior parte do codelab, mas os simuladores não podem fazer o download de versões.)
Como você usará este tutorial?
Como classificaria sua experiência com a criação de aplicativos iOS?
2. Crie um projeto de console do Firebase
Adicionar novo projeto do Firebase
- Faça login no Firebase.
- No console do Firebase, clique em Adicionar projeto e nomeie seu projeto como "Firebase Codelab".
Você não precisa ativar o Google Analytics para este projeto.
- Clique em Criar projeto .
Adicionar aplicativo ao Firebase
Siga a documentação para registrar seu aplicativo no Firebase. Use "com.google.firebase.codelab.AppDistribution.<your_name>" como ID do pacote iOS.
Quando solicitado, baixe o arquivo GoogleService-Info.plist
do seu projeto. Você precisará disso mais tarde.
3. Obtenha o Projeto de Amostra
Baixe o Código
Comece clonando o projeto de exemplo.
git clone git@github.com:googlecodelabs/firebase-appdistribution-ios.git
Se você não tiver o git instalado, também pode baixar o projeto de amostra em sua página do GitHub ou clicando neste link .
Baixe as dependências e abra o projeto no Xcode
- Abra o Podfile no mesmo diretório
cd firebase-appdistribution-ios/start Open Podfile
- Adicione a seguinte linha ao seu podfile:
Podfile
pod 'Firebase/AppDistribution'
Execute pod update
no diretório do projeto e abra o projeto no Xcode.
pod install --repo-update xed .
Atualize o identificador de pacote para corresponder ao seu aplicativo Firebase
No menu à esquerda, clique duas vezes em AppDistributionExample. Em seguida, localize a guia Geral e altere o identificador do pacote para corresponder ao identificador do pacote do seu aplicativo Firebase, que pode ser encontrado nas configurações do projeto . Deve ser "com.google.firebase.codelab.AppDistribution.<your_name>"
Adicione o Firebase ao seu aplicativo
Localize o arquivo GoogleService-Info.plist
que você baixou anteriormente em seu sistema de arquivos e arraste-o para a raiz do projeto Xcode. Você também pode baixar este arquivo a qualquer momento na página de configurações do seu projeto.
Em seu arquivo AppDistributionExample/AppDelegate.swift
importe o Firebase na parte superior do arquivo
AppDistributionExample/AppDelegate.swift
import Firebase
E no método didFinishLaunchingWithOptions
adicione uma chamada para configurar o Firebase.
AppDistributionExample/AppDelegate.swift
FirebaseApp.configure()
4. Configure novos alertas de compilação no aplicativo com o App Distribution SDK
Nesta etapa, você adicionará o SDK 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ê precisará 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 fornece duas maneiras de configurar alertas de compilação no aplicativo para seus testadores: uma configuração de alerta básica, que vem com uma caixa de diálogo de login pré-criada para exibir aos testadores e uma configuração de alerta avançada, que permite que você personalize sua própria interface de usuário (UI).
Começaremos com a configuração básica do alerta. Você pode usar checkForUpdate
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:
- Verifica se um testador habilitou alertas. Caso contrário, exibe uma caixa de diálogo pré-criada que solicita que eles façam login no App Distribution com sua conta do Google.
A ativação de alertas é um processo único no dispositivo de teste e 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. Consulte a documentação de referência do método ( Swift ou Objective-C ) para obter mais informações.
- Verifica se há novas compilações disponíveis para o testador instalar. Retorna um objeto de liberação ou um erro .
Você pode incluir checkForUpdate
a qualquer momento em seu aplicativo. Por exemplo, você pode solicitar que seus testadores instalem compilações recém-disponíveis na inicialização, incluindo checkForUpdate no viewDidAppear do UIViewController .
Em seu arquivo AppDistributionViewController.swift
, importe o Firebase na parte superior do arquivo
AppDistributionViewController.swift
import Firebase
Abra AppDistributionExample/AppDistributionViewController.swift e copie as linhas para o método viewDidAppear
desta forma:
AppDistributionViewController.swift
override func viewDidAppear(_ animated: Bool) {
checkForUpdate()
}
Agora vamos implementar o método checkForUpdate().
AppDistributionViewController.swift
private func checkForUpdate() {
AppDistribution.appDistribution().checkForUpdate(completion: { [self] release, error in
var uiAlert: UIAlertController
if error != nil {
uiAlert = UIAlertController(title: "Error", message: "Error Checking for update! \(error?.localizedDescription ?? "")", preferredStyle: .alert)
} else if release == nil {
uiAlert = UIAlertController(title: "Check for Update", message: "No releases found!!", preferredStyle: .alert)
uiAlert.addAction(UIAlertAction(title: "Ok", style: UIAlertAction.Style.default))
} else {
guard let release = release else { return }
let title = "New Version Available"
let message = "Version \(release.displayVersion)(\(release.buildVersion)) is available."
uiAlert = UIAlertController(title: title, message: message, preferredStyle: .alert)
uiAlert.addAction(UIAlertAction(title: "Update", style: UIAlertAction.Style.default) {
_ in
UIApplication.shared.open(release.downloadURL)
})
uiAlert.addAction(UIAlertAction(title: "Cancel", style: UIAlertAction.Style.cancel) {
_ in
})
}
self.present(uiAlert, animated: true, completion: nil)
})
}
5. Crie e convide testadores para baixar seu aplicativo
Nesta etapa, você criará seu aplicativo e testará 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 de seu aplicativo para testadores, selecione "Qualquer dispositivo iOS (arm64)" como destino de compilação e Produto->Arquivo. Depois que o arquivo for criado, crie uma distribuição assinada com o perfil de distribuição de desenvolvimento.
Quando a compilação for concluída, ela salvará um arquivo IPA e alguns arquivos de log na pasta especificada. Você distribui o arquivo IPA para seus testadores nas etapas a seguir.
Se você tiver problemas ao criar seu aplicativo, consulte os documentos de codesign da Apple para obter as etapas de solução de problemas.
Distribua seu app para testadores
Para distribuir seu app aos testadores, faça upload do arquivo IPA usando o Firebase console:
- Abra a página App Distribution do Firebase console. Selecione seu projeto do Firebase quando solicitado.
- Pressione Começar
- Na página Releases, selecione o aplicativo que deseja distribuir no menu suspenso.
- Arraste o arquivo IPA do seu aplicativo para o console para carregá-lo.
- 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. Consulte Gerenciar testadores para saber mais sobre como criar grupos de testadores.
- Clique em Distribuir para disponibilizar a compilação para os testadores.
Adicione-se como um testador para o lançamento
No console do Firebase, agora você pode ver os testadores adicionados na versão do seu aplicativo.
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! Continue na seção abaixo para se configurar como um testador em seu dispositivo de teste.
Registre seu dispositivo de teste
Você precisará primeiro registrar seu dispositivo de teste para baixar e testar uma versão Ad Hoc.
- Em seu dispositivo iOS de teste, abra o e-mail enviado pelo Firebase App Distribution e toque no link Get Started. Certifique-se de abrir o link no Safari.
- 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ê verá o lançamento para o qual foi convidado.
- Toque em Registrar dispositivo para compartilhar seu UDID com o Firebase para que você possa atualizar o perfil de provisionamento do seu aplicativo posteriormente.
- Siga as instruções e vá para configurações para baixar o perfil e compartilhar seu UDID.
Agora, quando você voltar para o App Distribution, o lançamento agora está marcado como "Dispositivo registrado":
O UDID do testador agora foi compartilhado com o desenvolvedor. Agora cabe ao desenvolvedor criar para o testador uma nova versão do aplicativo.
Exibir informações do testador no console
De volta à visualização do desenvolvedor no console do Firebase, o testador aparecerá como "Aceito" na versão:
Você também receberá um e-mail como desenvolvedor se o dispositivo que estiver usando ainda não estiver incluído no perfil de provisionamento. Isso o notificará sobre o novo UDID que você precisa adicionar. Você também tem a opção de exportar todos os UDIDs como um arquivo de texto.
- Para exportar todos os UDIDs, abra a guia Testadores e grupos.
- Clique em "Exportar UDIDs da Apple".
O arquivo deve conter o UDID do seu dispositivo de teste.
Device ID Device Name Device Platform
1234567890 tester.app.distribtuion@gmail.com - iPhone SE 2nd Gen ios
Ao receber um desses e-mails, atualize seu perfil de provisionamento com o UDID e distribua uma nova compilação para seus testadores seguindo estas etapas:
- Adicione os dispositivos ao portal do desenvolvedor da Apple.
- Opção 1: Importe os UDIDs do dispositivo como um arquivo CSV. Na guia Testers & Groups do painel App Distribution, selecione All testers e clique em Export Apple UDIDs para baixar um arquivo CSV. Em seguida, importe o arquivo para sua conta de desenvolvedor da Apple usando a opção Registrar vários dispositivos. Consulte a documentação da Apple para saber mais. Observe que sua conta de desenvolvedor da Apple pode permitir que você importe apenas um número limitado de dispositivos por ano.
- Opção 2: Colete e insira os UDIDs por e-mail. Na página Adicionar dispositivos do portal do desenvolvedor da Apple, registre o novo UDID especificado no e-mail que você recebeu.
- Adicione os dispositivos registrados ao seu perfil de provisionamento .
- Baixe o perfil de provisionamento e use-o para recriar seu aplicativo. Se você estiver reconstruindo apenas para atualizar os dispositivos registrados, não atualize o número da compilação ou a versão.
- Redistribua seu app a partir do Firebase console ou da CLI. Se você já distribuiu uma compilação com o mesmo número e versão de compilação, apenas usuários de dispositivos recém-registrados receberão e-mails de notificação.
Baixe a versão do dispositivo de teste
Agora o lançamento tem o UDID do dispositivo de teste, para que o dispositivo de teste possa baixar e instalar o aplicativo. O App Distribution envia um e-mail aos testadores quando seu UDID é adicionado a uma nova versão.
- No dispositivo de teste, retorne ao aplicativo da web do testador do App Distribution usando o link no e-mail ou o ícone na tela inicial do dispositivo.
Ao navegar até o aplicativo de codelab UDID, você verá que a versão está pronta para download.
- Se você estiver em um dispositivo físico, clique em download, instale e execute o aplicativo!
- Quando o aplicativo for iniciado, ele solicitará que você habilite novos alertas de compilação. Selecione "Ativar"
- Em seguida, ele solicitará que você faça login. Clique em "Continuar.
- Entre com sua conta de testador.
- Você será levado de volta ao aplicativo. Você não precisará fazer login ou aceitar alertas na próxima vez que executar o aplicativo.
Distribua uma atualização para seus testadores
- Atualize seu número de compilação para "2".
- Selecione "Qualquer dispositivo iOS (arm64)" como destino de compilação e Produto->Arquivo. Depois que o arquivo for gerado, crie uma distribuição assinada com o perfil de distribuição de desenvolvimento.
- Quando a compilação for concluída, ela salvará um arquivo IPA e alguns arquivos de log na pasta especificada. Carregue este novo IPA em seu console do Firebase, adicione seu e-mail como testador novamente e distribua.
Alertas de build de teste
- Certifique-se de fechar o aplicativo se ele estiver aberto. Reinicie o aplicativo.
- Quando o aplicativo for reiniciado, você deverá receber um alerta "Nova versão disponível".
- Clique em "Atualizar" para receber a versão mais recente.
- Clique em "Instalar" na próxima tela.
- Parabéns! Você conseguiu atualizar seu aplicativo com os alertas integrados.
6. 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 de atualizações automaticamente em viewDidAppear comentando a chamada checkForUpdate() .
AppDistributionViewController.swift
override func viewDidAppear(_ animated: Bool) {
// checkForUpdate()
}
Em vez disso, vamos chamar checkForUpdate() em checkForUpdateButtonClicked( ).
@objc func checkForUpdateButtonClicked() {
checkForUpdate()
}
Agora, vamos implementar nosso método signInOutButtonClicked() que irá conectar o usuário se ele estiver desconectado ou desconectar o usuário se ele já estiver conectado.
AppDistributionViewController.swift
@objc func signInOutButtonClicked() {
if isTesterSignedIn() {
AppDistribution.appDistribution().signOutTester()
self.configureCheckForUpdateButton()
self.configureSignInSignOutButton()
self.configureSignInStatus()
} else {
AppDistribution.appDistribution().signInTester(completion: { error in
if error == nil {
self.configureCheckForUpdateButton()
self.configureSignInSignOutButton()
self.configureSignInStatus()
} else {
let uiAlert = UIAlertController(title: "Custom:Error", message: "Error during tester sign in! \(error?.localizedDescription ?? "")", preferredStyle: .alert)
uiAlert.addAction(UIAlertAction(title: "Ok", style: UIAlertAction.Style.default) {
_ in
})
self.present(uiAlert, animated: true, completion: nil)
}
})
}
}
Por fim, vamos implementar o método isTesterSignedI n.
AppDistributionViewController.swift
private func isTesterSignedIn() -> Bool {
return AppDistribution.appDistribution().isTesterSignedIn
}
Crie e teste sua implementação
7. Parabéns!
Você criou o recurso "exibição de alertas no aplicativo" em um aplicativo usando o Firebase App Distribution iOS SDK.
O que cobrimos
- Distribuição de aplicativos do Firebase
- Firebase App Distribution Novos alertas iOS SDK
Próximos passos
Saber mais
Ter uma questão?
Relatar problemas