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

La Fiesta de actualización es un flujo de descubrimiento que destaca las nuevas funciones 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 tus usuarios. El flujo de la 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 en la que se les da la bienvenida al nuevo SO y se muestra un flujo de tarjetas con las nuevas funciones.

Los fabricantes de dispositivos pueden habilitar la Fiesta de actualización para sus dispositivos con SO Android. Para ello, deben enviar el formulario de Solicitud para activar la Fiesta 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 de Upgrade Party e incluye la información de personalización en la respuesta del formulario.

Guía de estilo de la invitación para actualizar

Usa esta guía de estilo para modificar el aspecto de la invitación a actualizar y adaptarlo a tu marca (pantallas, colores, fuentes). Te recomendamos que mantengas los tamaños y la estructura lo más parecidos posible al diseño original.

El flujo de invitación para actualizar tiene 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

En cada pantalla, se muestra una animación que ayuda a explicar cada función.

Pantalla de introducción

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

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

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

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

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

Figura 3: Es el esquema de color predeterminado para el flujo de invitación a la actualización.

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

Movimiento

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

  1. Aparecen números en la pantalla.
  2. Los números se mueven hacia el centro mientras disminuyen de tamaño. Aparecerá el marco del teléfono celular.
  3. El teléfono se reduce de tamaño. Las formas comienzan a entrar en la pantalla.
  4. Se completó la animación. Las formas se siguen moviendo suavemente.
Figura 4: Diseño de estructura alámbrica 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 reloj en la pantalla principal

  1. El teléfono celular entra en la pantalla.
  2. El teléfono se mueve al centro mientras 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 estructura alámbrica para la animación de la pantalla de introducción de la invitación a actualizar sin reloj.
Figura 7. Ejemplo de animación para la pantalla de introducción sin reloj.

Pantalla de funciones

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

Diseño
Figura 8: Diseño de estructura alámbrica para las pantallas de la función Upgrade Invite.

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

  • Fondo colorido
  • Marco del dispositivo
  • Contenido de la IU
Aplica estilos
  • Elige un color de fondo que funcione bien con el contenido de la IU y con la apariencia 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 función, incluidas las interacciones táctiles. Exporta las grabaciones como archivos Lottie.

Pantalla de cierre

La pantalla de cierre completa el flujo. Indica a los usuarios que ya vieron todas las pantallas.

Diseño
Figura 9. Diseño de estructura alámbrica para la pantalla final de la invitación a actualizar.

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

  • Semicírculo en el fondo (más formas animadas)
  • Marco del dispositivo
  • Contenido de la IU
Aplica 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 estándar de la animación de la pantalla final:

  1. El teléfono celular se mueve un poco hacia arriba.
  2. Aparece 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 de estructura alámbrica para la animación de la pantalla final de la invitación a actualizar.
Figura 11: Ejemplo de animación de pantalla final.

Cómo activar 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 en cuanto 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();

Devuelve un objeto Task que verifica de forma asíncrona si el usuario cumple con los requisitos para participar en una fiesta de actualización. El valor booleano resultante indica si el usuario es apto o no.

invokeUpgradeParty

Task<Void> invokeUpgradeParty();

Invoca una fiesta de actualización Activity. El objeto Task resultante indica si se produjo un error al iniciar 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: Se muestra cuando la solicitud no se pudo controlar de manera oportuna.
  • API_NOT_CONNECTED: Significa que la API no está disponible (por ejemplo, el módulo UpgradeParty aún no está listo).
  • DEVELOPER_ERROR: Se muestra 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 la Fiesta de actualización

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

  1. En el dispositivo Android de prueba, ve a Configuración > Google > Depuración de Upgrade Party.
  2. Selecciona Actualización de informes y, luego, Abrir la fiesta de actualización. Esto inicia el flujo pertinente 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.