Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Configure alertas de nuevas compilaciones en la aplicación con el SDK de distribución de aplicaciones

El SDK de distribución de aplicaciones de Firebase opcional te permite mostrar alertas en la aplicación a tus evaluadores cuando hay nuevas compilaciones de tu aplicación disponibles para instalar. Esta guía explica cómo usar el SDK de distribución de aplicaciones para crear y personalizar nuevas alertas de compilación para sus evaluadores.

Antes de que empieces

Si aún no lo ha hecho, agregue Firebase a su proyecto de iOS .

Paso 1 : Habilite la API de prueba de distribución de aplicaciones

  1. Seleccione su proyecto en Google Cloud Console .

  2. En la API de Firebase App Testers , haz clic en Habilitar .

Paso 2 : agregue la distribución de la aplicación a su aplicación

Recomendamos usar CocoaPods para instalar las bibliotecas de Firebase. También puede optar por integrar los marcos de SDK directamente .

  1. Abra el podfile que creó para el proyecto (o ejecute pod init para crear uno), luego agregue la siguiente línea dentro de la sección de destino:

    pod 'Firebase/AppDistribution'
  2. En el directorio de su podfile, ejecute pod install , luego abra el archivo .xcworkspace creado.

  3. Codifique su ID de aplicación de Google ( obligatorio solo para las versiones 9 y 10 de iOS ):

    Codifique su ID de aplicación de Google

    Agrega el esquema de URL appdistribution-<encoded-google-app-id> incluyendo el fragmento en tu Info.plist file (consulta la documentación de Apple para obtener instrucciones sobre cómo agregar el esquema de URL en 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>
    

    Luego, codifique su ID de aplicación de Google reemplazando los dos puntos (:) con guiones (-). Tenga en cuenta que su ID de aplicación de Google se encuentra en su archivo GoogleService-Info.plist . Por ejemplo, si su ID de aplicación de Google es:

    7:77777777777:ios:123456789

    Su ID de aplicación de Google codificado es:

    7-77777777777-ios-123456789
  4. Importe el módulo de Firebase en su UIApplicationDelegate :

    Rápido

    import Firebase
    

    C objetivo

    @import Firebase;
    
  5. Configure una instancia compartida de FirebaseApp , generalmente en la aplicación de su aplicación application:didFinishLaunchingWithOptions: método application:didFinishLaunchingWithOptions: ::

    Rápido

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

    C objetivo

    // Use Firebase library to configure APIs
    [FIRApp configure];
    
  6. Finalmente, vuelva a compilar su aplicación.

Paso 3 : configurar alertas en la aplicación

El SDK de distribución de aplicaciones proporciona dos formas de configurar alertas de compilación en la aplicación para sus evaluadores: una configuración de alerta básica, que viene con un diálogo de inicio de sesión prediseñado para mostrar a los evaluadores, y una configuración de alerta avanzada, que le permite personalice su propia interfaz de usuario (UI). Recomendamos usar primero la configuración de alerta básica si es nuevo en el SDK de distribución de aplicaciones.

Configuracion basica

Use checkForUpdate para mostrar un diálogo de alertas de habilitación prediseñado para los probadores que aún no han habilitado las alertas y luego verifique si hay una nueva compilación disponible. Cuando se llama, el método promulga la siguiente secuencia:

  1. Comprueba si un evaluador ha habilitado las alertas al pedirle que inicie sesión en Distribución de aplicaciones con su cuenta de Google.

  2. Si el probador aún no ha habilitado las alertas, muestra un diálogo prediseñado.

    La habilitación de alertas es un proceso único en el dispositivo de prueba y persiste en las actualizaciones de su aplicación. Las alertas permanecen habilitadas en el dispositivo de prueba hasta que se desinstala la aplicación o hasta que se signOutTester método signOutTester . Consulte la documentación de referencia del método ( Swift u Objective-C ) para obtener más información.

  3. Comprueba las nuevas versiones disponibles para que las instale el probador.

Puede incluir checkForUpdate en cualquier punto de su aplicación. Por ejemplo, puede solicitar a sus evaluadores que instalen nuevas compilaciones disponibles al inicio al incluir checkForUpdate en viewDidAppear de UIViewController .

Los siguientes ejemplos verifican si el probador ha habilitado las alertas y tiene acceso a una nueva compilación y, de ser así, muestra un diálogo cuando la compilación está disponible para instalar:

Compruebe si hay alertas habilitadas :

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).
})

C objetivo

[[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).
}];

Mostrar diálogo para instalar nueva construcción :

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)
})

C objetivo

[[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];
  }
}];

Configuración avanzada

Los métodos signInTester e isTesterSignedIn brindan más flexibilidad para personalizar la experiencia de inicio de sesión de su evaluador, para que se isTesterSignedIn mejor a la apariencia de su aplicación.

El siguiente ejemplo comprueba si el tester ya ha iniciado sesión en su cuenta de tester de distribución de aplicaciones de Firebase, por lo que puede elegir mostrar su IU de inicio de sesión solo para los testers que aún no han iniciado sesión. Una vez que el tester haya iniciado sesión, puede llame a checkForUpdate para verificar si el evaluador tiene acceso a una nueva compilación.

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
  })
}

C objetivo

// 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 obtener información sobre métodos adicionales, incluido signOutTester , consulte la documentación de referencia de distribución de aplicaciones para Swift y Objective-C .

Paso 4 : cree y pruebe su implementación

Por último, compila tu aplicación y prueba tu implementación distribuyendo la compilación a los probadores mediante la consola de Firebase.

Visite la guía de solución de problemas de distribución de aplicaciones para obtener ayuda con problemas comunes, como:

  • El evaluador no recibe alertas en la aplicación
  • Se solicita al evaluador que inicie sesión en Google más de una vez