Grupo de actualización de Android para las actualizaciones del SO

Upgrade Party es un flujo de descubrimiento que destaca las funciones nuevas para los usuarios de Android cada vez que reciben una actualización importante del SO.

Una actualización importante del sistema operativo Android puede ser una experiencia decepcionante para los usuarios. El flujo de fiesta de actualización aumenta la participación de los usuarios y los ayuda a comprender cómo navegar por el SO recién actualizado.

Después de actualizar a la versión más reciente del SO, los usuarios reciben una notificación push que los recibe en el nuevo SO y muestra un flujo de tarjetas con las funciones nuevas.

Para habilitar el grupo de actualización de tu SO Android, regístrate con el formulario Solicitud para activar el grupo de actualización de Android.

Personaliza la experiencia de la fiesta de actualización

Puedes personalizar la experiencia de la Fiesta de actualización de las siguientes maneras:

  • Quita las funciones irrelevantes.
  • Actualiza el idioma en los bloques de texto.
  • Modifica las animaciones, los colores y las fuentes para que coincidan con tu marca.

Para personalizar el flujo, revisa los lineamientos de la Guía de estilo para el grupo de actualización y, luego, incluye tu información de personalización en el formulario Request to activate Android Upgrade Party (Solicitud para activar el grupo de actualización de Android).

Guía de estilo de la invitación de actualización

Usa esta guía de estilo para modificar el aspecto de la invitación a la actualización para que se adapte a tu marca (pantallas, colores y fuentes). Te recomendamos que mantengas los tamaños y la estructura cerca del diseño original.

El flujo de invitación a la actualización presenta los siguientes tres componentes:

  • Pantalla de introducción
  • Pantalla de funciones
  • Pantalla de cierre
Figura 1: Los tres tipos de pantallas en el flujo de invitación a la actualización

Una animación en cada pantalla ayuda a explicar cada función.

Pantalla de introducción

La pantalla de presentación contiene una breve animación que da la bienvenida al usuario y lo alienta a iniciar el flujo que se muestra en la pantalla de presentación.

Diseño
Figura 2: Diseño de esquema de página para la pantalla de introducción de la invitación a la actualización

La animación del dispositivo siempre consta de lo siguiente:

  • Fondo blanco y formas coloridas
  • Marco del dispositivo
  • Contenido de la IU
Estilos

Si decides adaptar el estilo de Material You, puedes usar los colores y las formas predeterminados que se muestran en el ejemplo.

Figura 3: Esquema de colores predeterminado para el flujo de invitación a la actualización.

Si usas tu propio color de marca, asegúrate de que funcione bien con el fondo de la IU.

Movimiento

Opción 1: Con un reloj en la pantalla principal

  1. Los números ingresan a la pantalla.
  2. Los números se mueven hacia el centro y disminuyen de tamaño. Aparece el marco del teléfono móvil.
  3. El tamaño del teléfono disminuye. Las formas comienzan a entrar en la pantalla.
  4. Se completó la animación. Las formas siguen moviéndose suavemente.
Figura 4: Diseño de esquema de página para la animación de la pantalla de introducción de la invitación a la actualización con un reloj.
Figura 5: Ejemplo de animación para la pantalla de introducción con un reloj.

Opción 2: No hay un reloj en la pantalla principal

  1. El teléfono celular entra en la pantalla.
  2. El teléfono se mueve al centro y aumenta de tamaño. Las formas comienzan a entrar en la pantalla.
  3. El teléfono alcanza el tamaño máximo y las formas siguen moviéndose.
Figura 6: Diseño de esquema de página para la animación de la pantalla de introducción de la invitación a actualizar sin un reloj.
Figura 7: Ejemplo de animación para la pantalla de introducción sin un reloj.

Pantalla de funciones

Cada pantalla de funciones destaca una función del nuevo SO.

Diseño
Figura 8: Diseño de esquema de página para las pantallas de la función Invitación a actualizar.

La animación del dispositivo siempre consta de lo siguiente:

  • Fondo colorido
  • Marco del dispositivo
  • Contenido de la IU
Estilos
  • Elige un color de fondo que funcione bien con el contenido de la IU y con el aspecto general.
  • Dentro de las pantallas, establece tamaños de fuente que sean fácilmente legibles. Si es necesario, establece tamaños de fuente más grandes.
Movimiento

Graba una animación del flujo de cada componente, incluidas las interacciones táctiles. Exporta las grabaciones como archivos Lottie.

Pantalla de cierre

La pantalla de cierre completa el flujo. Le indica a los usuarios que pasaron por todas las pantallas.

Diseño
Figura 9: Diseño de esquema de página para la pantalla de cierre de la invitación a actualizar.

La animación del dispositivo siempre consta de lo siguiente:

  • Medio círculo en el fondo (más formas animadas)
  • Marco del dispositivo
  • Contenido de la IU
Estilos
  • Selecciona un color de fondo que funcione bien con el contenido de la IU y con la apariencia general.
  • Usa una forma de semicírculo.
Movimiento

Sigue el flujo de animación estándar de la pantalla de cierre:

  1. El teléfono celular se mueve un poco hacia arriba.
  2. Aparecerá un círculo en el fondo.
  3. Las formas aparecen detrás del teléfono celular.
  4. Las formas salen volando del fondo como confeti.
Figura 10: Diseño del esquema de página para la animación de la pantalla de cierre de la invitación a la actualización.
Figura 11: Ejemplo de animación de cierre en pantalla.

Activa la fiesta de actualización con el SDK

De forma predeterminada, el SO Android envía a los usuarios una notificación push que muestra un flujo de tarjetas con las funciones más recientes apenas realizan la actualización. Si prefieres activar el flujo desde tu propia notificación push o una app, usa el SDK de Android.

Requisitos previos

Asegúrate de que el archivo de compilación de tu app use los siguientes valores:

  • minSdkVersion de 14 o más
  • compileSdkVersion de 28 o más

Cómo configurar tu app

  1. Extrae la biblioteca del archivo ZIP proporcionado y colócala en tu repositorio.
  2. Agrega las dependencias del SDK de Google Growth al archivo Gradle a nivel de la app de tu módulo, que suele ser app/build.gradle:

     dependencies {
         implementation files('<PATH_TO_BINARY>/play-services-growth-16.1.0-eap04.aar')
     }
    
  3. Incluye las siguientes bibliotecas como dependencias:

    com.google.android.gms:play-services-base:18.0.1
    com.google.android.gms:play-services-basement:18.0.0
    com.google.android.gms:play-services-tasks:18.0.1
    

Usa la API

  1. Para inicializar un cliente, usa la clase UpgradeParty y configura el parámetro activity.

     import com.google.android.gms.growth.UpgradeParty;
     UpgradeParty.getClient(activity);
    

El UpgradePartyClient resultante expone la funcionalidad de la API.

isEligibleForUpgradeParty

Task<Boolean> isEligibleForUpgradeParty();

Muestra un objeto Task que verifica de forma asíncrona si el usuario es apto para una fiesta de actualización. El valor booleano resultante indica si el usuario es apto o no.

invocarUpgradeParty

Task<Void> invokeUpgradeParty();

Invoca un grupo de actualización Activity. El objeto Task resultante indica si se produjo un error cuando se inició la actividad.

Errores

Ambos métodos de la API pueden fallar con una excepción de tipo com.google.android.gms.common.api.ApiException. En esos casos, se espera que el llamador vuelva a intentarlo más adelante.

Entre los códigos de estado comunes esperados, se incluyen los siguientes:

  • INTERNAL_ERROR: Representa cualquier error en el flujo de la lógica subyacente.
  • TIMEOUT: Aparece cuando no se pudo procesar la solicitud de forma oportuna.
  • API_NOT_CONNECTED: Significa que la API no está disponible (por ejemplo, el módulo UpgradeParty aún no está listo).
  • DEVELOPER_ERROR: Aparece cuando el paquete de llamada no tiene permiso para acceder a la clase UpgradeParty.

Ejemplo de SDK

Consulta el siguiente ejemplo de una app que invoca el SDK:

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import com.google.android.gms.growth.UpgradeParty;
import com.google.android.gms.growth.UpgradePartyClient;

public class SampleActivity extends Activity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   final UpgradePartyClient client = UpgradeParty.getClient(this);

   // Hide the invocation button initially
   View startUpgradePartyButton = findViewById(R.id.__some_button__);
   startUpgradePartyButton.setVisibility(View.GONE);

   // Register an onClick handler to invoke the Upgrade Party Activity
   startUpgradePartyButton
       .setOnClickListener(
           view -> {
             client
                 .invokeUpgradeParty()
                 .addOnCompleteListener(
                     task -> {
                       if (!task.isSuccessful()) {
                         // Do something with error, see task.getException()
                       }
                     });
           });
   }

   // Check if eligible for an Upgrade Party
   client
       .isEligibleForUpgradeParty()
       .addOnCompleteListener(
           task -> {
             if (!task.isSuccessful()) {
               // Do something with error, see task.getException()
             } else {
                  // Show/Hide invocation button, based on the result
                  int visibility =
                        task.getResult() ? View.VISIBLE : View.GONE;
                  startUpgradePartyButton..setVisibility(visibility);
             }
           });
   }

Prueba el flujo de fiesta de actualización

Sigue estos pasos para probar el flujo de Upgrade Party que ven los usuarios cuando actualizan el SO Android:

  1. En el dispositivo Android de prueba, ve a Configuración > Google > Depuración de Upgrade Party.
  2. Selecciona Report Upgrade y, luego, Open Upgrade Party. Esto inicia el flujo relevante, según la versión del SO del dispositivo. Por ejemplo, la fiesta de actualización de Android 12 se reproduce en un dispositivo que ejecuta el SO Android 12.