Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
Visual Studio App Center se retiró el 31 de marzo de 2025, excepto las características de análisis y diagnóstico, que seguirán siendo compatibles hasta el 30 de junio de 2026. Más información.
- Androide
- Ios
- macOS
- tvOS
- React Native
- unidad
- Windows
- MAUI/Xamarin
¿Qué permisos de Android son necesarios?
En función de los servicios que use, se requieren los siguientes permisos:
- 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 de 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
Asegúrese de que ha integrado correctamente los módulos del SDK.
Asegúrese de que se incluye el secreto de aplicación correcto junto con la llamada al método
start(). Para copiar el código exactostart(), abra la aplicación en el portal y vaya a la página Introducción.Si desea ver los registros que se envían al backend, cambie el nivel de registro a Detallado en su aplicación y el SDK imprimirá los registros en la consola. Llame a la API a continuación antes de iniciar el SDK.
AppCenter.setLogLevel(Log.VERBOSE);AppCenter.setLogLevel(Log.VERBOSE)Verifique que los registros digan "El SDK de App Center se ha configurado correctamente" (en el nivel de registro de información), luego compruebe si ve registros de solicitudes HTTPS.
Asegúrese de que el dispositivo está en línea.
En ocasiones, los registros pueden tardar unos minutos en aparecer en el portal. Espere algún tiempo si ese es el caso.
Para comprobar si el back-end de App Center recibió los datos, vaya a la sección Flujo de registro del servicio Analytics. Tus eventos deberían aparecer una vez que se hayan enviado.
Los fallos no se muestran en el portal
Asegúrese de que ha integrado correctamente los módulos del SDK.
Asegúrese de que se incluye el secreto de aplicación correcto junto con la llamada al método
start(). Para copiar el código exactostart(), abra la aplicación en el portal y vaya a la página Introducción.Reinicia la aplicación después de un fallo. Nuestro SDK reenvía el registro de bloqueos solo después de reiniciarlo.
Si desea ver los registros que se envían al backend, cambie el nivel de registro a Detallado en su aplicación y el SDK imprimirá los registros en la consola. Llame a la API a continuación antes de iniciar el SDK.
AppCenter.setLogLevel(Log.VERBOSE);AppCenter.setLogLevel(Log.VERBOSE)Verifique que los registros digan "El SDK de App Center se ha configurado correctamente" (en el nivel de registro de información), luego compruebe si ve registros de solicitudes HTTPS.
Asegúrese de que el dispositivo está en línea.
En ocasiones, los registros pueden tardar unos minutos en aparecer en el portal. Espere algún tiempo si ese es el caso.
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 puede extender el callback de crash para ver si se envió correctamente al servidor.
Para comprobar si el back-end de App Center recibió el incidente, vaya a la sección Flujo de registros del servicio de analítica. Tus bloqueos aparecerán allí, una vez que se haya enviado.
Las actualizaciones de distribución y dentro de la aplicación están bloqueando mis pruebas automatizadas de IU.
Si ejecuta pruebas automatizadas de IU, las actualizaciones en la aplicación habilitadas 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 puede considerarlos 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 notificado por el dispositivo) |
|---|---|---|
| Ninguno (aplicación en blanco) | 1,3 MB | 3,43 MB |
| Análisis de App Center | 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 |
Protege el 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. Si su app_secret está expuesto, el mayor riesgo es enviar datos incorrectos a su aplicación, pero no tendrá ningún efecto en la seguridad de los datos.
Para recuperar cualquier dato confidencial, tendría que 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 del soporte de jCenter, todos nuestros ensambles 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()
}