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 tus usuarios. El flujo de Upgrade Party aumenta la participación de los usuarios y los ayuda a comprender cómo navegar por su 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 les da la bienvenida al nuevo SO y muestra un flujo de tarjetas con las funciones nuevas.

Los fabricantes de dispositivos pueden habilitar Upgrade Party para sus dispositivos con SO Android. Para ello, deben enviar el formulario Request to activate Android Upgrade Party.

Personaliza la experiencia de Upgrade Party

Puedes personalizar la experiencia de Upgrade Party 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 en la Guía de estilo de Upgrade Party e incluye tu información de personalización en la respuesta del formulario.

Guía de estilo de Upgrade Invite

Usa esta guía de estilo para modificar el aspecto de Upgrade Invite y adaptarlo a tu propia marca (pantallas, colores, fuentes). Te recomendamos que mantengas los tamaños y la estructura lo más cerca posible del diseño original.

El flujo de Upgrade Invite incluye los siguientes tres componentes:

  • Pantalla de introducción
  • Pantalla de funciones
  • Pantalla de final
Figura 1. Los tres tipos de pantalla en el flujo de Upgrade Invite

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

Pantalla de introducción

La pantalla de introducción contiene una animación breve que 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 de estructura alámbrica para la pantalla de introducción de Upgrade Invite

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

  • Fondo blanco y formas coloridas
  • Marco del dispositivo
  • Contenido de la IU
Diseño

Si eliges adaptar el diseño 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 Upgrade Invite.

Si usas el color de tu 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 mientras disminuyen de tamaño. Aparece el marco del teléfono celular.
  3. El teléfono disminuye de tamaño. Las formas comienzan a ingresar a la pantalla.
  4. Se completa la animación. Las formas siguen moviéndose suavemente.
Figura 4: Diseño de estructura alámbrica para la animación de la pantalla de introducción de Upgrade Invite con un reloj.
Figura 5. Ejemplo de animación para la pantalla de introducción con un reloj.

Opción 2: Sin reloj en la pantalla principal

  1. El teléfono celular ingresa a la pantalla.
  2. El teléfono se mueve hacia el centro mientras aumenta de tamaño. Las formas comienzan a ingresar a 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 Upgrade Invite 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 estructura alámbrica para las pantallas de funciones de Upgrade Invite.

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

  • Fondo colorido
  • Marco del dispositivo
  • Contenido de la IU
Diseño
  • 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 final

La pantalla de final completa el flujo. Indica a los usuarios que ya pasaron por todas las pantallas.

Diseño
Figura 9: Diseño de estructura alámbrica para la pantalla de final de Upgrade Invite.

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
Diseño
  • Selecciona un color de fondo que funcione bien con el contenido de la IU y con la apariencia general.
  • Usa una forma de medio círculo.
Movimiento

Sigue el flujo de animación estándar de la pantalla de 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 de final de Upgrade Invite.
Figura 11. Ejemplo de animación de la pantalla de final.

Activa Upgrade Party 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 se actualizan. 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 superior
  • compileSdkVersion de 28 o superior

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 de nivel de app de tu módulo, normalmente 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 establece 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 Upgrade Party. El valor booleano resultante indica si el usuario es apto o no.

invokeUpgradeParty

Task<Void> invokeUpgradeParty();

Invoca una Activity de Upgrade Party. 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 la persona que llama vuelva a intentarlo más tarde.

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 no se pudo controlar la solicitud 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 que llama no tiene permiso para acceder a la clase UpgradeParty.

Ejemplo del 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 Upgrade Party

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

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