Introducción a Android

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.

El SDK de App Center usa una arquitectura modular para que pueda usar cualquiera o todos los servicios.

Puede encontrar información sobre los datos recopilados por App Center en los datos recopilados por los SDK de App Center, el Reglamento general de protección de datos y las páginas de preguntas más frecuentes .

Empecemos a configurar App Center Android SDK en la aplicación para usar App Center Analytics y App Center Crashes. Para agregar App Center Distribute a la aplicación, consulte la documentación de App Center Distribute.

1. Prerrequisitos

Asegúrese de que se cumplen los siguientes requisitos previos antes de empezar:

  • El proyecto de Android está configurado en Android Studio.
  • El destino es dispositivos que ejecutan Android versión 5.0 (nivel de API 21) o posterior.

2. Creación de la aplicación en el portal de App Center para obtener el secreto de la aplicación

Si ya ha creado la aplicación en el portal de App Center, puede omitir este paso.

  1. Ve a appcenter.ms.
  2. Regístrese o inicie sesión y haga clic en el botón Agregar nuevo en la esquina superior derecha de la página y seleccione Agregar nueva aplicación en el menú desplegable.
  3. Escriba un nombre y una descripción opcional para la aplicación.
  4. Seleccione Android como sistema operativo y Java como plataforma.
  5. Haga clic en el botón Agregar nueva aplicación .

Una vez que haya creado una aplicación, puede obtener su secreto de aplicación en la página Introducción en 2. Inicie el SDK. O bien, puede hacer clic en Configuración y, en la esquina superior derecha, haga clic en los puntos verticales triples y seleccione Copiar secreto de aplicación para obtener el secreto de la aplicación.

3. Adición de los módulos del SDK de App Center

  1. Abra el archivo build.gradle de nivel de aplicación del proyecto (app/build.gradle) y agregue las líneas siguientes después apply pluginde . Incluya las dependencias que desee en el proyecto. Cada módulo del SDK debe agregarse como una dependencia independiente en esta sección. Si quiere usar Análisis y bloqueos de App Center, agregue las siguientes líneas:
dependencies {
    def appCenterSdkVersion = '5.0.4'
    implementation "com.microsoft.appcenter:appcenter-analytics:${appCenterSdkVersion}"
    implementation "com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}"
}

Nota

Si la versión del complemento de Android Gradle es inferior a la 3.0.0, debe reemplazar la palabra implementación por compilación.

Nota

Debido a la finalización de jCenter, todos los ensamblados se movieron al repositorio de Maven Central. Siga esta guía sobre la migración de jCenter a Maven Central. Tenga en cuenta que Maven Central no contiene módulos en desuso. Asegúrese de que el proyecto no tiene dependencias de módulos del SDK de App Center en desuso.

  1. Asegúrese de desencadenar una sincronización de Gradle en Android Studio.

Ahora que ha integrado el SDK en la aplicación, es el momento de iniciar el SDK y usar App Center.

4. Iniciar el SDK

4.1 Agregar el método start()

Para usar App Center, debe participar en los módulos que desea usar. De forma predeterminada, no se inicia ningún módulo y debe llamar explícitamente a cada uno de ellos al iniciar el SDK.
Inserte la siguiente línea dentro de la clase de actividad principal de la aplicación: onCreatedevolución de llamada para usar App Center Analytics y App Center Crashes:

AppCenter.start(getApplication(), "{Your App Secret}", Analytics.class, Crashes.class);
AppCenter.start(application, "{Your App Secret}", Analytics::class.java, Crashes::class.java)

Advertencia

No se recomienda insertar el secreto de aplicación en el código fuente.

Si necesita iniciar los servicios de App Center por separado, debe hacer lo siguiente:

  1. Configure o inícielo con el secreto de aplicación.
  2. Si se puede llamar al código varias veces, compruebe si app Center ya está configurado.
  3. Inicie los servicios necesarios sin el secreto de la aplicación.
AppCenter.configure(application, "{Your App Secret}");
if (AppCenter.isConfigured()) {
    AppCenter.start(Analytics.class);
    AppCenter.start(Crashes.class);
}
AppCenter.configure(application, "{Your App Secret}");
if (AppCenter.isConfigured()) {
    AppCenter.start(Analytics::class.java);
    AppCenter.start(Crashes::class.java);
}

Si tiene más de un punto de entrada a la aplicación (por ejemplo, una actividad de vínculo profundo, un servicio o un receptor de difusión), llame start a en la clase personalizada de aplicación o en cada punto de entrada. En este último caso, compruebe si App Center ya está configurado antes de la start llamada:

if (!AppCenter.isConfigured())) {
  AppCenter.start(getApplication(), "{Your App Secret}", Analytics.class, Crashes.class);
}
if (!AppCenter.isConfigured()) {
  AppCenter.start(application, "{Your App Secret}", Analytics::class.java, Crashes::class.java)
}

4.2 Reemplace el marcador de posición por el secreto de la aplicación

Asegúrese de reemplazar {Your App Secret} texto por el valor real de la aplicación. El secreto de aplicación se puede encontrar en la página Introducción o en la página Configuración del portal de App Center.

La página Introducción contiene el ejemplo de código anterior con el secreto de la aplicación en ella, simplemente puede copiar y pegar todo el ejemplo.

En el ejemplo anterior se muestra cómo usar el start() método e incluir app Center Analytics y Bloqueos de App Center.

Si no desea usar uno de los dos servicios, quite el parámetro correspondiente de la llamada al método anterior.

A menos que especifique explícitamente cada módulo como parámetros en el método start, no puede usar ese servicio de App Center. Además, la start() API solo se puede usar una vez en el ciclo de vida de la aplicación; todas las demás llamadas registrarán una advertencia en la consola y solo estarán disponibles los módulos incluidos en la primera llamada.

Por ejemplo: si solo quiere incorporar a App Center Analytics, debe modificar la start() llamada API de la siguiente manera:

AppCenter.start(getApplication(), "{Your App Secret}", Analytics.class);
AppCenter.start(application, "{Your App Secret}", Analytics::class.java)

Android Studio sugiere automáticamente las instrucciones de importación necesarias una vez insertado el start() método, pero si ve un error que indica que no se reconocen los nombres de clase, agregue las siguientes líneas a las instrucciones import de la clase de actividad:

import com.microsoft.appcenter.AppCenter;
import com.microsoft.appcenter.analytics.Analytics;
import com.microsoft.appcenter.crashes.Crashes;
import com.microsoft.appcenter.AppCenter
import com.microsoft.appcenter.analytics.Analytics
import com.microsoft.appcenter.crashes.Crashes

Todos están configurados para visualizar los datos de Análisis y Bloqueos en el portal que el SDK recopila automáticamente.

Consulte la documentación de App Center Analytics y App Center Crashes para obtener información sobre cómo personalizar y usar funcionalidades más avanzadas de ambos servicios.

Para obtener información sobre cómo empezar a trabajar con las actualizaciones desde la aplicación, lea la documentación de App Center Distribute.

5. Reglas de copia de seguridad (solo Android)

Nota

Las aplicaciones destinadas a Android 6.0 (nivel de API 23) o superior tienen habilitada automáticamente la copia de seguridad automática. 

Nota

Si ya tiene un archivo personalizado con regla de copia de seguridad, cambie al tercer paso.

Si usa la copia de seguridad automática para evitar obtener información incorrecta sobre los dispositivos, siga los pasos siguientes:

5.1. Para Android 11 (nivel de API 30) o inferior.

  1. Cree appcenter_backup_rule.xml archivo en la carpeta res/xml .
  1. Abra el archivo AndroidManifest.xml del proyecto. Agregue el android:fullBackupContent atributo al <application> elemento . Debe apuntar al archivo de recursosappcenter_backup_rule.xml .
android:fullBackupContent="@xml/appcenter_backup_rule"
  1. Agregue las siguientes reglas de copia de seguridad al archivo appcenter_backup_rule.xml :
<full-backup-content xmlns:tools="http://schemas.android.com/tools">
      <exclude domain="sharedpref" path="AppCenter.xml"/>
      <exclude domain="database" path="com.microsoft.appcenter.persistence"/>
      <exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
      <exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
      <exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
  </full-backup-content>

5.2. Para Android 12 (nivel de API 31) o superior.

  1. Cree appcenter_backup_rule.xml archivo en la carpeta res/xml .
  1. Abra el archivo AndroidManifest.xml del proyecto. Agregue el android:dataExtractionRules atributo al <application> elemento . Debe apuntar al archivo de recursosappcenter_backup_rule.xml .
android:dataExtractionRules="@xml/appcenter_backup_rule"
  1. Agregue las siguientes reglas de copia de seguridad al archivo appcenter_backup_rule.xml :
<data-extraction-rules xmlns:tools="http://schemas.android.com/tools">
    <cloud-backup>
        <exclude domain="sharedpref" path="AppCenter.xml"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
        <exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
        <exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
    </cloud-backup>
    <device-transfer>
        <exclude domain="sharedpref" path="AppCenter.xml"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
        <exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
        <exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
    </device-transfer>
</data-extraction-rules>