App Center Analytics (React Native)

Importante

Visual Studio App Center está programado para retirarse 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 y las alternativas de soporte técnico.

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 la sección Introducción si aún no ha configurado el SDK en la aplicación.

Información de la sesión y del dispositivo

Una vez que agregue App Center Analytics a la aplicación y se inicie el SDK, realiza un seguimiento automático de las sesiones y las propiedades del dispositivo, como la versión del sistema operativo, el modelo, etc.

Eventos personalizados

Realice un seguimiento de sus propios eventos personalizados con hasta 20 propiedades para comprender la interacción entre los usuarios y la aplicación.

Una vez que haya iniciado el SDK, use el método para realizar un trackEvent seguimiento de los eventos con propiedades. Puede enviar hasta 200 nombres de eventos distintos. Además, hay un límite máximo de 256 caracteres por nombre de evento y 125 caracteres por nombre de propiedad de evento y valor de propiedad de evento.

// import App Center Analytics at the top of the file.
import Analytics from 'appcenter-analytics';

Analytics.trackEvent('Video clicked', { Category: 'Music', FileName: 'favorite.avi' });

Esta función devuelve una promesa, el caso correcto devuelve una cadena vacía y el caso de error devuelve el error.

Las propiedades de los eventos son opcionales; Si solo desea realizar un seguimiento de un evento, úselo en su lugar:

Analytics.trackEvent('Video clicked');

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 no recopilará más información de análisis para la aplicación.

await Analytics.setEnabled(false);

Esta función devuelve una promesa que se resuelve como void.

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

await Analytics.setEnabled(true);

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

Comprobación de si App Center Analytics está habilitado

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

const enabled = await Analytics.isEnabled();

Esta función devuelve una promesa que se resuelve en .boolean

Espere a que JS habilite App Center Analytics.

Si quiere recopilar información de análisis para los usuarios de la aplicación, pero quiere obtener primero el permiso de usuario, tiene la opción de no habilitar el análisis en el inicio, pero espere hasta el momento adecuado y habilitelo en JavaScript en su lugar.

  1. Abra el archivo del ios/YourAppName/AppDelegate.m proyecto y reemplace por [AppCenterReactNativeAnalytics registerWithInitiallyEnabled:true];[AppCenterReactNativeAnalytics registerWithInitiallyEnabled:false];.
  2. Abra el archivo del android/app/src/main/res/values/strings.xml proyecto y reemplace por <string name="appCenterAnalytics_whenToEnableAnalytics" moduleConfig="true" translatable="false">ALWAYS_SEND</string><string name="appCenterAnalytics_whenToEnableAnalytics" moduleConfig="true" translatable="false">ENABLE_IN_JS</string>.

Esto significa que, para que cualquier información que se envíe a App Center (incluso la información básica de la sesión), primero debe habilitar App Center Analytics agregando la siguiente línea de código:

await Analytics.setEnabled(true);

Administrar 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 analytics.StartSession() API generará una nueva sesión. Si en el modo de seguimiento de sesión manual, 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 que se inicie una nueva aplicación, se volverá a generar el identificador de sesión.

Para configurar el SDK para realizar el seguimiento manual de la sesión, debe usar las API nativas de Analytics enableManualSessionTracker :

  • En iOS, llame a [MSACAnalytics enableManualSessionTracker]; antes [AppCenterReactNative register]; en el método delegado de didFinishLaunchingWithOptions la aplicación en AppDelegate.m. Agregue @import AppCenterAnalytics si falta en ese archivo.

  • En Android, llame a Analytics.enableManualSessionTracker(); antes de SoLoader.init en el onCreate método en MainApplication.java. Agregue la importación com.microsoft.appcenter.analytics.Analytics si falta en ese archivo.

A continuación, puede usar la API en el startSession proyecto de React Native:

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 devuelva el acceso a Internet, el SDK enviará registros en el lote de 50 o después de cada 6 segundos.

Procesamiento por lotes de registros de eventos

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 5s 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.