Invitación a actualizar Android

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

El flujo está destinado a 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 activar la Invitación de actualización para sus dispositivos, regístrese utilizando el formulario Solicitud para activar la Invitación de actualización de Android .

Personalice la experiencia de invitación a la actualización

Puede personalizar la experiencia de Upgrade Invite de las siguientes maneras:

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

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

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

Utilice esta guía de estilo para modificar el aspecto de Invitación a la actualización para adaptarlo a su propia marca (pantallas, colores, fuentes). Recomendamos encarecidamente mantener los tamaños y la estructura cerca del diseño original.

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

  • pantalla de introducción
  • pantalla de características
  • pantalla final
Figura 1. Los tres tipos de pantalla en el flujo de invitación de actualización

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

pantalla de introducción

La pantalla de introducció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 introducción.

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

La animación del dispositivo siempre consta de:

  • Fondo blanco y formas de colores.
  • marco del dispositivo
  • contenido de la interfaz de usuario
Estilismo

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

Figura 3. Esquema de color predeterminado para el flujo de invitación de actualización.

Si usa 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 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: 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 pantalla de introducción de Invitación a actualización sin reloj.
Figura 7. Animación de ejemplo para la pantalla de introducción sin reloj.

pantalla de funciones

Cada pantalla de funciones destaca 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
Estilismo
  • 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 de 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 la 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
Estilismo
  • Seleccione un color de fondo que funcione bien con el contenido de la interfaz de usuario y con la apariencia general.
  • Usa una forma de semicírculo.
Movimiento

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

  1. El teléfono móvil se mueve un poco hacia arriba.
  2. Aparece un círculo en el fondo.
  3. Aparecen formas desde detrás del teléfono móvil.
  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 Invitación a la actualización.
Figura 11. Ejemplo de animación de pantalla final.

Probar 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 disparador para la Invitación de actualización para el sistema operativo del dispositivo relevante (según la versión actual del sistema operativo y el flujo de Invitación de actualización específico para probar. O bien:
    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 actualización del sistema operativo
  3. Haga clic en la notificación recibida o haga clic en Abrir invitación de actualización.

Activar opciones para la invitación de actualización

Hay 3 formas diferentes de activar el flujo de invitación a la actualización: 1. automático 2. transmisión 3. Activación del SDK de Play Services

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

Para 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 de actualización.

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

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

Un receptor de transmisión le permite activar el flujo de Invitación de actualización 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 lleva al flujo de invitación de actualización.

Requisitos previos de transmisión

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

Asegúrate de que los archivos de configuración de tu aplicación usen los siguientes valores:

  • Una minSdkVersion de 14 o superior
  • Un 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 OEM (o el código) envíe una transmisión de Android para activar la notificación automática:

  1. Enviar difusió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 Invitar a actualizar 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 de actualización que activa la descarga de la actualización.

Ejemplo de uso de transmisión

Vea el siguiente ejemplo de una transmisión de 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 del sistema operativo pendiente (en este ejemplo, la versión de Android que se instalará es 14). Esto se usa para determinar qué flujo de Invitación de 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 de actualización desde su aplicación o sus propias notificaciones de OTA. Utilice una API externa de terceros para activar el propio flujo de invitación a la actualización. Este método es menos recomendable.

requisitos previos

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

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

  • Una minSdkVersion de 14 o superior
  • Un 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 para el SDK de crecimiento de Google al archivo Gradle de 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 la API

  1. Para inicializar un cliente, use 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 de inicio.

Funciones API

El UpgradePartyClient resultante expone la siguiente funcionalidad.

es elegible para la invitación a la actualización

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 asíncrona 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 de actualización. El objeto _Task_object resultante indica si se produjo un error al iniciar la actividad.

Códigos de error

Ambos métodos de la API pueden fallar con la 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 tarde. Los códigos de estado comunes esperados ){:.external} incluyen:

  • INTERNAL_ERROR : para cualquier error en el flujo de la lógica subyacente
  • TIMEOUT : 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 llamadas no puede acceder a la API de UpgradeParty

Ejemplo de uso de 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);
             }
           });
   }