Solución de problemas de Android SDK

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.

¿Qué permisos de Android son necesarios?

Según los servicios que use, se requieren los permisos siguientes:

  • Todos los servicios: INTERNET, ACCESS_NETWORK_STATE
  • Distribuir: REQUEST_INSTALL_PACKAGES, DOWNLOAD_WITHOUT_NOTIFICATION

El SDK combina automáticamente los permisos necesarios en el manifiesto de la aplicación.

Ninguno de estos permisos requiere aprobación del usuario en tiempo de ejecución, todos ellos son permisos de tiempo de instalación.

Los datos de análisis no se muestran en el portal

  1. Asegúrese de que ha integrado correctamente los módulos del SDK.

  2. Asegúrese de que se incluye el secreto de aplicación correcto junto con la llamada al start() método. Para copiar el código exactostart(), abra la aplicación en el portal y vaya a Introducción página.

  3. Si desea ver los registros que se envían al back-end, cambie el nivel de registro a Detallado en la aplicación y el SDK imprimirá los registros en la consola. Llame a la API siguiente antes de iniciar el SDK.

    AppCenter.setLogLevel(Log.VERBOSE);
    
    AppCenter.setLogLevel(Log.VERBOSE)
    

    Compruebe los registros como "Sdk de App Center configurado correctamente" (en El nivel de registro de información), compruebe si ve los registros de solicitudes HTTPS.

  4. Asegúrese de que el dispositivo está en línea.

  5. En ocasiones, los registros pueden tardar unos minutos en aparecer en el portal. Espere algún tiempo si ese es el caso.

  6. Para comprobar si el back-end de App Center recibió los datos, vaya a la sección Flujo de registro del servicio Analytics. Los eventos deben aparecer una vez enviados.

Los bloqueos no se muestran en el portal

  1. Asegúrese de que ha integrado correctamente los módulos del SDK.

  2. Asegúrese de que se incluye el secreto de aplicación correcto junto con la llamada al start() método. Para copiar el código exactostart(), abra la aplicación en el portal y vaya a Introducción página.

  3. Reinicie la aplicación después de un bloqueo. Nuestro SDK reenviará el registro de bloqueos solo después de reiniciarlo.

  4. Si desea ver los registros que se envían al back-end, cambie el nivel de registro a Detallado en la aplicación y el SDK imprimirá los registros en la consola. Llame a la API siguiente antes de iniciar el SDK.

    AppCenter.setLogLevel(Log.VERBOSE);
    
    AppCenter.setLogLevel(Log.VERBOSE)
    

    Compruebe los registros como "Sdk de App Center configurado correctamente" (en El nivel de registro de información), compruebe si ve los registros de solicitudes HTTPS.

  5. Asegúrese de que el dispositivo está en línea.

  6. En ocasiones, los registros pueden tardar unos minutos en aparecer en el portal. Espere algún tiempo si ese es el caso.

  7. Si quiere comprobar si el SDK detectó el bloqueo en el siguiente inicio de la aplicación, puede llamar a la API para comprobar si la aplicación se bloqueó en la última sesión y muestra una alerta. O bien, puede ampliar la devolución de llamada de bloqueo para ver si se envió correctamente al servidor.

  8. Para comprobar si el back-end de App Center recibió el bloqueo, vaya a la sección Flujo de registro del servicio Analytics. Los bloqueos deben aparecer allí, una vez enviados.

La distribución y las actualizaciones desde la aplicación bloquean mis pruebas automatizadas de IU

Si ejecuta pruebas automatizadas de IU, las actualizaciones habilitadas en la aplicación bloquearán las pruebas automatizadas de IU, ya que intentarán autenticarse en el back-end de App Center. Se recomienda no habilitar App Center Distribute para las pruebas de IU.

¿Cuál es el impacto del SDK de App Center en el tamaño de la aplicación Android?

El SDK de App Center está diseñado para tener un impacto mínimo en el tamaño de instalación de la aplicación.

Para ilustrar esto, hemos creado una aplicación java vacía mediante la plantilla "aplicación en blanco" de Android Studio. Compilamos la aplicación en la configuración de versión e instalamos la aplicación en un dispositivo que ejecuta Android 7.0.

Las pruebas se ejecutaron sin Proguard habilitado.

Los números siguientes pueden variar y depender de la configuración de compilación, por lo que deben considerarse una guía aproximada. El impacto del SDK en la aplicación será incluso menor si usa Proguard.

Módulos de App Center usados Tamaño del APK exportado Tamaño de instalación (según lo indicado por el dispositivo)
Ninguno (aplicación en blanco) 1,3 MB 3,43 MB
App Center Analytics 1,4 MB 3,63 MB
Bloqueo de App Center 1,4 MB 3,70 MB
Distribución de App Center 1,4 MB 3,71 MB
Todos los módulos de App Center 1,4 MB 3,82 MB

Protección del valor del secreto de App Center

app_secret es un identificador de la aplicación, es necesario saber a qué aplicación se aplica el tráfico y no se puede usar para recuperar o editar datos existentes. app_secret Si se expone, el mayor riesgo es enviar datos incorrectos a la aplicación, pero no tendrá ningún efecto en la seguridad de los datos.

Para recuperar datos confidenciales, debe proporcionar un token de aplicación o usuario, que se genera en el lado del cliente. No hay ninguna manera de proteger completamente los datos en el lado del cliente.

Puede mejorar la seguridad de la aplicación mediante una variable de entorno para insertar el secreto de la aplicación en el código. De este modo, el secreto no es visible en el código.

Migración de jCenter a Maven Central

Debido a la finalización de jCenter, todos los ensamblados se movieron al repositorio de Maven Central. Para usar App Center, debe agregar mavenCentral() al repositorio en el archivo de Gradle, como se indica a continuación:

repositories {
   google()
   mavenCentral()
}