O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Configure alertas de nova compilação no aplicativo com o SDK do App Distribution

O SDK opcional do Firebase App Distribution permite que você exiba alertas no aplicativo para seus testadores quando novas compilações do seu aplicativo estiverem disponíveis para instalação. Este guia explica como usar o SDK do App Distribution para criar e personalizar novos alertas de construção para seus testadores.

Antes de você começar

Adicione o Firebase ao seu projeto iOS, caso ainda não tenha feito isso.

Etapa 1 : ativar a API App Distribution Tester

  1. Selecione seu projeto no Google Cloud Console .

  2. Em API Firebase App Testers , clique em Ativar .

Etapa 2 : Adicionar App Distribution ao seu aplicativo

Recomendamos o uso de CocoaPods para instalar as bibliotecas do Firebase. Você também pode optar por integrar as estruturas SDK diretamente .

  1. Abra o podfile que você criou para o projeto (ou execute pod init para criar um) e adicione a seguinte linha dentro da seção de destino:

    pod 'Firebase/AppDistribution'
  2. No diretório do seu podfile, execute a pod install e abra o arquivo .xcworkspace criado.

  3. Codifique seu ID do Google app ( necessário apenas para iOS versões 9 e 10 ):

    Codifique seu ID do Google app

    Adicione o esquema de URL appdistribution-<encoded-google-app-id> incluindo o snippet em seu Info.plist file (consulte a documentação da Apple para obter instruções sobre como adicionar o esquema de URL no Xcode):

    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>appdistribution-<encoded-google-app-id></string>
            </array>
        </dict>
    </array>
    

    Em seguida, codifique seu ID do Google app substituindo os dois pontos (:) por travessões (-). Observe que seu ID do Google app está localizado no arquivo GoogleService-Info.plist . Por exemplo, se o seu ID do Google app for:

    7:77777777777:ios:123456789

    Seu ID codificado do Google app é:

    7-77777777777-ios-123456789
  4. Importe o módulo Firebase em seu UIApplicationDelegate :

    Rápido

    import Firebase
    

    Objective-C

    @import Firebase;
    
  5. Configure uma instância compartilhada FirebaseApp , normalmente no aplicativo do seu aplicativo application:didFinishLaunchingWithOptions: método:

    Rápido

    // Use Firebase library to configure APIs
    FirebaseApp.configure()
    

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
    
  6. Finalmente, recompile seu aplicativo.

Etapa 3 : 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 um diálogo de login pré-criado para exibir aos testadores, e uma configuração de alerta avançada, que permite que você personalize sua própria interface de usuário (IU). Recomendamos primeiro o uso da configuração de alerta básica se você for novo no SDK do App Distribution.

Configuração básica

Use checkForUpdate para exibir uma checkForUpdate de diálogo de habilitação de alertas predefinida para testadores que ainda não habilitaram os alertas e, em seguida, verifique se uma nova compilação está disponível. Quando chamado, o método executa a seguinte sequência:

  1. Verifica se um testador ativou alertas, solicitando que ele faça login no App Distribution com sua conta do Google.

  2. Se o testador ainda não ativou os alertas, exibe uma caixa de diálogo predefinida.

    Habilitar 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.

  3. Verifica se há novas compilações disponíveis para o testador instalar.

Você pode incluir checkForUpdate a qualquer momento em seu aplicativo. Por exemplo, você pode solicitar que seus testadores instalem compilações recentemente disponíveis na inicialização, incluindo checkForUpdate no viewDidAppear do UIViewController .

Os exemplos a seguir verificam se o testador ativou ou não alertas e tem acesso a uma nova compilação e, em caso afirmativo, exibe uma caixa de diálogo quando a compilação está disponível para instalação:

Verifique se há alertas habilitados :

Rápido

AppDistribution.appDistribution().checkForUpdate(completion: { release, error in
// Includes a pre-built enable alerts dialogue that lets your tester enable alerts.
// You can also customize your own user interface that prompts the tester to
// install a newly available distribution (refer to sample code below).
})

Objective-C

[[FIRAppDistribution appDistribution]
    checkForUpdateWithCompletion:^(FIRAppDistributionRelease *_Nullable release,
                                   NSError *_Nullable error) {
// Includes a pre-built enable alerts dialogue that lets your tester enable alerts.
// You can also customize your own user interface that prompts the tester to
// install a newly available distribution (refer to sample code below).
}];

Exibir caixa de diálogo para instalar a nova construção :

Rápido

AppDistribution.appDistribution().checkForUpdate(completion: { release, error in
  guard let release = release else {
    return
  }

  // Customize your alerts here.
  let title = "New Version Available"
  let message = "Version \(release.displayVersion)(\(release.buildVersion)) is available."
  let 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 should be a UIViewController.
  self.present(uialert, animated: true, completion: nil)
})

Objective-C

[[FIRAppDistribution appDistribution]
  checkForUpdateWithCompletion:^(FIRAppDistributionRelease *_Nullable release,
                                 NSError *_Nullable error) {
  if (error) {
  UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Check For Update"
message:[NSString stringWithFormat:@"Error during tester sign in! %@", error.localizedDescription]
preferredStyle:UIAlertControllerStyleAlert];

  UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"Ok" style:UIAlertActionStyleDefault
handler:^(UIAlertAction *action) {}];

  [alert addAction:okAction];
  [self presentViewController:alert animated:YES completion:nil];

  return;
  }

  if (release) {
  UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"New Version Available"
message:[NSString stringWithFormat:@"Version %@ (%@) is available.", release.displayVersion,
release.buildVersion] preferredStyle:UIAlertControllerStyleAlert];

  UIAlertAction *updateAction = [UIAlertAction actionWithTitle:@"Update"
style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
    [[UIApplication sharedApplication] openURL:release.downloadURL options:@{}
completionHandler:nil];
  }];
  UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"Cancel"
style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {}];
  [alert addAction:updateAction];
  [alert addAction:cancelAction];
  [self presentViewController:alert animated:YES completion:nil];
  }
}];

Configuração avançada

Os métodos signInTester e isTesterSignedIn oferecem mais flexibilidade para personalizar a experiência de login do testador, para que possa corresponder 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, então você pode escolher 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.

Rápido

// Sign in a tester without automatically checking for update
if (!AppDistribution.appDistribution().isTesterSignedIn) {
  AppDistribution.appDistribution().signInTester (completion: { error in
    // completion block for signInTester
     if (error != nil) {
       // handle failed sign in
      return
     }
    // handle successful sign in
  })
}

// Only check for update if tester is already signed in - do not prompt
if (AppDistribution.appDistribution().isTesterSignedIn) {
  AppDistribution.appDistribution().checkForUpdate(completion: { release, error in
      // completion block for check for update
  })
}

Objective-C

// Sign in a tester without automatically checking for update
if(![[FIRAppDistribution appDistribution] isTesterSignedIn]) {
  [[FIRAppDistribution appDistribution]
    signInTesterWithCompletion:^(NSError *_Nullable error) {
      // completion block for signInTester
     if (error) {
       // handle failed sign in
       return;
     }
      // handle successful sign in
  }];
}

// only check for update if tester is already signed in - do not prompt
if([[FIRAppDistribution appDistribution] isTesterSignedIn]) {
  [[FIRAppDistribution appDistribution]
        checkForUpdateWithCompletion:^(FIRAppDistributionRelease *_Nullable release,
                                       NSError *_Nullable error) {
     // completion block for check for update
  }];
}

Para obter informações sobre métodos adicionais, incluindo signOutTester , consulte a documentação de referência do App Distribution para Swift e Objective-C .

Etapa 4 : construir e testar sua implementação

Por fim, crie seu aplicativo e teste sua implementação distribuindo a versão para testadores usando o console do Firebase.

Visite o guia de solução de problemas de distribuição de aplicativos para obter ajuda com problemas comuns, como:

  • O testador não está recebendo alertas no aplicativo
  • O testador é solicitado a fazer login no Google mais de uma vez