Invitación a actualizar Android

Upgrade Invite es un flujo de usuario que muestra las nuevas funciones clave incluidas en la principal actualización del sistema operativo Android disponible actualmente.

El flujo tiene como objetivo ayudar a convencer a los usuarios de que actualicen su dispositivo a la última versión del sistema operativo.

Una vez que un dispositivo tiene una actualización del sistema operativo pendiente de aprobación del usuario, los usuarios reciben una notificación automática que muestra las nuevas funciones y los invita a realizar la actualización.

Para habilitar la invitación a la actualización para su sistema operativo Android, regístrese mediante el formulario Solicitud para activar la invitación a la actualización de Android .

Personaliza la experiencia de invitación a actualizar

Puede personalizar la experiencia de Invitación a actualización de las siguientes maneras:

  • Elimina características irrelevantes.
  • Actualiza el idioma en los bloques de texto.
  • Modifique las animaciones, colores y fuentes para que coincidan con su marca.

Para personalizar el flujo, revise las pautas en la Guía de estilo de invitación de actualización e incluya su información de personalización en el formulario Solicitud para activar la invitación de actualización de Android .

Actualizar la guía de estilo de invitación

Utilice esta guía de estilo para modificar el aspecto de Upgrade Invite para adaptarlo a su propia marca (pantallas, colores, fuentes). Recomendamos encarecidamente mantener los tamaños y la estructura cercanos al diseño original.

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

  • Pantalla de introducción
  • Pantalla de funciones
  • Pantalla final
Figura 1. Los tres tipos de pantalla en el flujo de invitación a la actualización

Una animación en cada pantalla ayuda a explicar cada característica.

Pantalla de introducción

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

Disposición
Figura 2. Diseño de estructura alámbrica para la pantalla de introducción de Invitación a actualización

La animación del dispositivo siempre consta de:

  • Fondo blanco y formas coloridas.
  • Marco del dispositivo
  • contenido de la interfaz de usuario
Estilo

Si elige adaptar el estilo de Material You , puede utilizar los colores y formas predeterminados que se muestran en el ejemplo.

Figura 3. Esquema de colores predeterminado para el flujo de invitación a actualizar.

Si utiliza el color de su propia marca, asegúrese de que funcione bien con el fondo de la interfaz de usuario.

Movimiento

Opción 1: Con un reloj en la pantalla de inicio

  1. Los números entran en la pantalla.
  2. Los números se mueven hacia el centro mientras disminuyen de tamaño. Aparece el marco del teléfono móvil.
  3. El teléfono disminuye de tamaño. Las formas comienzan a entrar en la pantalla.
  4. La animación está completa. 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. Animación de ejemplo para la pantalla de introducción con un reloj.

Opción 2: Sin reloj en la pantalla de inicio

  1. El teléfono móvil entra en la pantalla.
  2. El teléfono se mueve hacia el 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 Upgrade Invite sin reloj.
Figura 7. Animación de ejemplo para la pantalla de introducción sin reloj.

Pantalla de funciones

Cada pantalla de funciones resalta una función en el nuevo sistema operativo.

Disposición
Figura 8. Diseño de estructura alámbrica para las pantallas de la función Invitación a actualización.

La animación del dispositivo siempre consta de:

  • Fondo colorido
  • Marco del dispositivo
  • contenido de la interfaz de usuario
Estilo
  • Elija un color de fondo que funcione bien con el contenido de la interfaz de usuario y con la apariencia general.
  • Dentro de las pantallas, establezca tamaños de fuente que sean fácilmente legibles. Si es necesario, establezca tamaños de fuente más grandes.
Movimiento

Grabe una animación del flujo de cada función, incluidas las interacciones táctiles. Exporte las grabaciones como archivos Lottie .

Pantalla final

La pantalla final completa el flujo. Indica a los usuarios que han pasado por todas las pantallas.

Disposición
Figura 9. Diseño de estructura alámbrica para la pantalla final de Invitación a actualización.

La animación del dispositivo siempre consta de:

  • Medio círculo en el fondo (más formas animadas)
  • Marco del dispositivo
  • contenido de la interfaz de usuario
Estilo
  • Seleccione un color de fondo que funcione bien con el contenido de la interfaz de usuario y con la apariencia general.
  • Utilice una forma de semicírculo.
Movimiento

Siga el flujo de animación estándar de la pantalla final:

  1. El teléfono móvil sube un poco.
  2. Aparece un círculo al fondo.
  3. Detrás del teléfono móvil surgen formas.
  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 Upgrade Invite.
Figura 11. Ejemplo de animación de pantalla final.

Pruebe el flujo de invitación de actualización

  1. En el dispositivo Android, vaya a: Configuración > Google > Depuración de Upgrade Party .
  2. Prepare el activador de la invitación de actualización para el sistema operativo del dispositivo correspondiente (según la versión actual de su sistema operativo y el flujo de invitación de actualización específico que se va a probar). Ya sea:
    1. Haga clic en Escribir actualización falsa (versión actual) . (por ejemplo, si ejecuta el sistema operativo Android 13, esto activará el flujo de prueba de Android 13)
    2. Haga clic en Escribir actualización pendiente (versión actual + 1) . (por ejemplo, si ejecuta el sistema operativo Android 12, esto activará el flujo de prueba de Android 13)
    3. Haga clic en Informar sobre actualización del sistema operativo.
  3. Haga clic en la notificación recibida o haga clic en Abrir invitación de actualización.

Opciones de activación para la invitación a actualizar

Hay 3 formas diferentes de activar el flujo de invitación de actualización: 1. automático 2. transmisión 3. SDK de servicios de Play activado

Automático: notificación activada por Google (solo para dispositivos con gOTA)

Para los dispositivos OEM que ejecutan gOTA, la integración es automática y no se requieren pasos de integración de Upgrade Invite. Una vez que se detecta una actualización importante del sistema operativo pendiente, se enviará una notificación automática al dispositivo desde los servicios de Google Play, lo que conducirá al flujo de invitación a actualizar.

Android Broadcast: notificación activada por Google (recomendado)

Una transmisión de aplicación es la forma más sencilla y recomendada de integrar el flujo de invitación a actualizar.

Un receptor de transmisión le permite activar el flujo de invitación a actualizar desde su aplicación mediante un mensaje de transmisión. La transmisión envía una notificación automática al dispositivo desde los servicios de Google Play, lo que conduce al flujo de invitación a actualizar.

Requisitos previos de transmisión

Para preparar su aplicación, complete los pasos de las siguientes secciones.

Asegúrese de que los archivos de configuración de su aplicación utilicen los siguientes valores:

  • Una versión minSdk de 14 o superior
  • Una versión compileSdkVersion de 28 o superior
  • Un permiso de uso de android.permission.RECOVERY

Enviar la transmisión

Consulte a continuación las instrucciones para que la aplicación (o código) OEM envíe una transmisión de Android para activar la notificación push:

  1. Enviar transmisión con la acción.

    com.google.android.gms.growth.upgradeparty.upgradeinvite.ACTION_SYSTEM_UPDATE
    
  2. Agregue el paquete com.google.android.gms a la transmisión.

    com.google.android.gms
    

Requerimientos adicionales

El flujo de invitación a actualización también permite a los usuarios realizar la actualización del sistema operativo directamente desde el flujo.

Para que esto funcione, exponga una intención personalizada a la que Google pueda llamar desde el flujo de invitación a actualización que activa la descarga de la actualización.

Ejemplo de uso de difusión

Vea el siguiente ejemplo de transmisión de una aplicación:

Context context = getApplicationContext();
Intent upgradeInviteIntent = new Intent()
  .setAction( "com.google.android.gms.growth.upgradeparty.upgradeinvite.ACTION_SYSTEM_UPDATE")
  .setPackage("com.google.android.gms");
  .putExtra("com.google.android.gms.growth.upgradeparty.upgradeinvite.EXTRA_PENDING_ANDROID_OS_VERSION_NUMBER", 14);

context.sendBroadcast(updateIntent);

El valor de la clave EXTRA_PENDING_ANDROID_OS_VERSION_NUMBER es un número entero que indica la versión pendiente del sistema operativo (en este ejemplo, la versión de Android que se instalará es 14). Esto se utiliza para determinar qué flujo de invitación a actualización se activará.

SDK de Play Services: solo activación de flujo

El SDK de terceros le permite activar el flujo de invitación a actualizar desde su aplicación o sus propias notificaciones OTA. Utilice una API externa de terceros para activar el flujo de invitación a actualización. Este método es menos recomendado.

Requisitos previos

Para preparar su aplicación, complete los pasos de las siguientes secciones.

Asegúrese de que el archivo de compilación de su aplicación utilice los siguientes valores:

  • Una versión minSdk de 14 o superior
  • Una versión compileSdkVersion de 28 o superior

Configura tu aplicación

Para configurar su aplicación:

1. Extract the library from the provided .zip file, and place it in your

repositorio. 2. Agregue las dependencias del SDK de Google Growth al archivo Gradle a nivel de aplicación de su módulo, normalmente app/build.gradle :

   dependencies {
    implementation files('<PATH_TO_BINARY>/play-services-growth-16.1.0-eap04.aar')
   }
  1. Para proporcionar las dependencias del cliente, incluya las siguientes bibliotecas:

    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
    

Inicialización de API

  1. Para inicializar un cliente, utilice la clase UpgradeParty:

    import com.google.android.gms.growth.UpgradeParty;
    UpgradeParty.getClient(activity);
    
  2. El parámetro de actividad debe ser el objeto de actividad inicial.

Funciones API

El UpgradePartyClient resultante expone la siguiente funcionalidad.

esEligibleForUpgradeInvite

import com.google.android.gms.growth.UpgradeInviteEligibilityParams;

Task<Boolean> isEligibleForUpgradeInvite(UpgradeInviteEligibilityParams params);

/** Contains parameters for the eligibility query. */
class UpgradeInviteEligibilityParams {


/** Integer indicating the pending OS version (in this example, the Android version to be installed is 14). This is used to determine which Upgrade Invite flow will be triggered. */
  int pendingAndroidOsVersionNumber;
}

Devuelve una tarea que verifica de forma asincrónica si el usuario es elegible para una invitación de actualización. El valor booleano resultante indica si el usuario es elegible o no.

invocarActualizarInvitar

Task<Void> invokeUpgradeInvite();

Invoca la actividad de invitación a actualizar. El objeto _Task _objeto resultante indica si se produjo un error al iniciar la actividad.

Códigos de error

Ambos métodos API pueden fallar con una excepción del tipo com.google.android.gms.common.api.ApiException . En tales casos, se espera que la persona que llama vuelva a intentarlo más adelante. Los códigos de estado comunes esperados incluyen:

  • INTERNAL_ERROR : para cualquier error en el flujo de la lógica subyacente
  • TIEMPO DE ESPERA : si la solicitud no se pudo manejar de manera oportuna
  • API_NOT_CONNECTED : cuando la API no está disponible (es decir, el módulo UpgradeParty aún no está listo)
  • NETWORK_ERROR : la solicitud no se pudo manejar debido a errores de red
  • DEVELOPER_ERROR : el paquete de llamada no tiene permiso para acceder a la API UpgradeParty

Ejemplo de uso del 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 startUpgradeInviteButton = findViewById(R.id.__some_button__);
   startUpgradeInviteButton.setVisibility(View.GONE);

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

   // Check if eligible for an Upgrade Party
   client
       .isEligibleForUpgradeInvite()
       .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;
                  startUpgradeInviteButton.setVisibility(visibility);
             }
           });
   }