Análisis de App Center (Unity)

Importante

Visual Studio App Center está programado para la retirada el 31 de marzo de 2025. Aunque puede seguir usando Visual Studio App Center hasta que se retire por completo, hay varias alternativas recomendadas a las que puede considerar la posibilidad de migrar.

Obtenga más información sobre las escalas de tiempo de soporte técnico y las alternativas.

App Center Analytics le ayuda a comprender el comportamiento del usuario y la participación del cliente para mejorar la aplicación. El SDK captura automáticamente el recuento de sesiones y las propiedades del dispositivo, como el modelo, la versión del sistema operativo, etc. Puede definir sus propios eventos personalizados para medir las cosas que le importan. Toda la información capturada está disponible en el portal de App Center para analizar los datos.

Siga las instrucciones de la sección Introducción a Unity si aún no ha configurado el SDK en la aplicación.

Nota

Para usar las API que se presentan a continuación, debe agregar la siguiente using instrucción al .cs archivo:

using Microsoft.AppCenter.Unity.Analytics;

También debes asegurarte de que Use Analytics está activado en la configuración del objeto de juego de App Center.

Información de la sesión y del dispositivo

Una vez que agregue App Center Analytics e inicie el SDK, realizará un seguimiento automático de las sesiones y las propiedades del dispositivo, como la versión del sistema operativo, el modelo, etc. sin necesidad de código adicional en la aplicación.

Eventos personalizados

Puede realizar un seguimiento de sus propios eventos personalizados con hasta 20 propiedades para saber lo que sucede en la aplicación, comprender las acciones del usuario y ver los agregados en el portal de App Center.

Use el TrackEvent() método para realizar un seguimiento de los eventos con propiedades. Puede enviar hasta 200 nombres de eventos distintos. Hay un límite máximo de 256 caracteres por nombre de evento y 125 caracteres por nombre y valor de propiedad de evento.

Analytics.TrackEvent("Video clicked", new Dictionary<string, string> {
	{ "Category", "Music" },
	{ "FileName", "favorite.avi" }
});

Las propiedades de los eventos son opcionales: si solo desea realizar un seguimiento de un evento, use este ejemplo en su lugar:

Analytics.TrackEvent("Video clicked");

Advertencia

Analytics.TrackEvent() se comportará incoherentemente en todas las plataformas si se llama antes del Awake() método en el script AppCenterBehavior.cs. Para que sea seguro, solo debe confiar en los eventos que se enviarán después de que la primera escena de la aplicación haya despertado todos los MonoBehaviour scripts. Para realizar un seguimiento de un evento junto con la inicialización de un MonoBehavour, considere la posibilidad de agregar la API al método del Start() script en lugar de Awake().

Habilitación o deshabilitación de App Center Analytics en tiempo de ejecución

Puede habilitar y deshabilitar App Center Analytics en tiempo de ejecución. Si la deshabilita, el SDK dejará de recopilar información de análisis para la aplicación. Para deshabilitar Analytics, use la SIGUIENTE API, pasando false como parámetro.

Analytics.SetEnabledAsync(false);

Para volver a habilitar App Center Analytics, use la misma API, pero pase true como parámetro.

Analytics.SetEnabledAsync(true);

El estado se conserva en el almacenamiento del dispositivo en los inicios de la aplicación.

Esta API es asincrónica, puede obtener más información sobre en nuestra guía de API asincrónicas de App Center .

Comprobación de si App Center Analytics está habilitado

También puede comprobar si App Center Analytics está habilitado o no.

bool isEnabled = await Analytics.IsEnabledAsync();

Prioridad y persistencia de eventos

Puede realizar un seguimiento de los eventos críticos para la empresa que tienen mayor importancia que otros eventos.

Los desarrolladores pueden establecer la persistencia de eventos como Normal (Flags.PersistenceNormal en la API) o Crítico (Flags.PersistenceCritical en la API).

Puede usar la SIGUIENTE API para realizar un seguimiento de un evento como Crítico:

Analytics.TrackEvent("eventName", Flags.PersistenceCritical);

Si usa propiedades:

Analytics.TrackEvent("eventName", new Dictionary<string, string> {
	{ "Category", "Music" },
	{ "FileName", "favorite.avi" }
}, Flags.PersistenceCritical);

Pausar y reanudar el envío de registros

Pausar la transmisión de eventos puede ser útil en escenarios en los que la aplicación necesita controlar el ancho de banda de red para obtener más necesidades críticas para la empresa. Puede pausar el envío de registros al back-end de App Center. Cuando se pausa, los eventos se pueden seguir rastreando y guardando, pero no se envían inmediatamente. Cualquier evento que realice el seguimiento de la aplicación mientras esté en pausa solo se enviará una vez que llame a Analytics.Resume.

Analytics.Pause();
Analytics.Resume();

Esta API es asincrónica, puede obtener más información sobre en nuestra guía de API asincrónicas de App Center .

Administración de la sesión de inicio

De forma predeterminada, el identificador de sesión depende del ciclo de vida de la aplicación. Si desea controlar manualmente el inicio de una nueva sesión, siga los pasos siguientes:

Nota

Preste atención a que cada llamada de la API Analytics.StartSession() generará una nueva sesión. Si en el modo manual de seguimiento de sesión, no se llamará a esta API, todos los registros de envío tendrán un valor de sesión null.

Nota

Preste atención a que, después de iniciar una nueva aplicación, se volverá a generar el identificador de sesión.

  • Desactive la casilla Enable Manual Session Tracker (Habilitar rastreador de sesión manual ) en la sección Análisis del objeto de juego con AppCenterBehavior conectado.
  • A continuación, puede usar la StartSession API después de AppCenter.Start:
Analytics.StartSession();

Tamaño del almacenamiento local

De forma predeterminada, el SDK almacena hasta 10 MB de registros en el almacenamiento.

Sin acceso a Internet

Cuando no hay conectividad de red, el SDK guarda hasta 10 MB de registros en el almacenamiento local. Una vez que el almacenamiento esté lleno, el SDK comenzará a descartar los registros antiguos para dejar espacio para los nuevos registros. Una vez que el dispositivo vuelva a acceder a Internet, el SDK enviará registros en el lote de 50 o después cada 6 segundos.

Registros de eventos de procesamiento por lotes

El SDK de App Center carga los registros en un lote de 50 y, si el SDK no tiene 50 registros para enviar, seguirá enviando registros después de 6 segundos. Puede haber un máximo de tres lotes enviados en paralelo.

Lógica de reintento y retroceso

El SDK de App Center admite reintentos de retroceso en errores de red recuperables. A continuación se muestra la lógica de reintento:

  • 3 intenta el máximo por solicitud.
  • Cada solicitud tiene su propia máquina de estado de reintento.
  • Todos los canales de transmisión están deshabilitados (hasta el siguiente proceso de aplicación) después de que una solicitud agote todos sus reintentos.

Lógica de retroceso

  • 50 % de selección aleatoria, primer reintento entre 5 y 10s, segundo reintento entre 2,5 y 5 minutos, último intento entre 10 y 20 minutos.
  • Si la red cambia de apagado a activado (o desde wi-fi a móvil), los estados de reintento se restablecen y las solicitudes se reintentan inmediatamente.