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.
Cargue el paquete binario de la aplicación en App Center para distribuirlo. App Center admite la distribución de paquetes para aplicaciones de sistema operativo android, iOS, macOS, Windows y personalizados. Puede distribuir versiones a evaluadores individuales o grupos de evaluadores. En el caso de las aplicaciones iOS y Android, también puede publicar en las tiendas como Google Play, App Store e Intune. Consulte Publicar en tiendas para empresas y consumidores.
En esta página puede obtener información sobre cómo generar el archivo binario para su lanzamiento y cómo cargarlo y liberarlo en grupos mediante el portal, la interfaz de línea de comandos (CLI) y la interfaz de programación de aplicaciones (API).
También puede usar Azure DevOps o Jenkins:
- Azure DevOps utiliza la tarea App Center Distribute (versión 3+)
- Complemento Jenkins (versión 0.11.0+).
Generación de un paquete binario de aplicación
En primer lugar, debe empaquetar la aplicación en un archivo binario para su lanzamiento. Puede crear este archivo manualmente.
En las secciones siguientes se explica cómo crear los archivos para todos los tipos de aplicaciones compatibles con App Center para la distribución.
Nota:
Si vas a cargar el archivo (.zip, .ipa y otros), el tamaño total de la aplicación no comprimido debe ser inferior a 4 GB.
Androide
Para Android, debe generar un paquete de aplicaciones firmado o un archivo APK. Para obtener detalles completos de este proceso, consulta la documentación oficial de Google sobre la preparación de una aplicación para su lanzamiento.
- Asegúrese de que ha actualizado el manifiesto y de que tiene una compilación de Gradle configurada correctamente.
- En Android Studio, elija Compilar>Generar paquete firmado / APK y siga los pasos del asistente para compilar el paquete de aplicaciones o APK.
Android Studio coloca paquetes de aplicaciones compilados en nombre de proyecto/nombre del módulo/build/outputs/bundle/ y APKs en nombre de proyecto/nombre del módulo/build/outputs/apk/.
Nota:
Al distribuir el paquete de aplicaciones android (AAB), App Center genera un APK universal, lo firma con una clave de firma generada y lo distribuye a un dispositivo.
Ios
Para iOS, debe generar un paquete IPA para su aplicación. Para obtener detalles completos de este proceso, consulte la documentación oficial de Apple.
- Registre UDID para todos los dispositivos de hardware en el perfil de aprovisionamiento.
- En Xcode, vaya a Archivo del producto> para archivar la aplicación.
- Exporte el archivo mediante el perfil de aprovisionamiento adecuado.
macOS
Para macOS, debe generar un paquete de aplicación. App Center admite la publicación de paquetes de aplicaciones de tipo .app.zip, .pkg o .dmg. Para obtener detalles completos de este proceso, consulte la documentación oficial de MacOS de Apple.
- Registre un único dispositivo o registre varios dispositivos en su cuenta de desarrollador de Apple.
- En Xcode, vaya a Archivo del producto> para archivar la aplicación.
- Exporte el archivo mediante el perfil de aprovisionamiento adecuado.
Windows
App Center admite la publicación de paquetes de aplicaciones de Windows de tipo .appx, , .appxbundle.appxupload.msi.msix.msixbundle, , .msixuploado ..zip Para obtener información completa sobre cómo empaquetar la aplicación en formatos AppX o MSIX, consulta la documentación oficial de UWP de Microsoft.
Sistema operativo personalizado
Archiva la compilación para aplicaciones con un sistema operativo personalizado en formato .zip.
Distribución del paquete
Nota:
Todas las direcciones URL de install.appcenter.ms que contienen archivos para la descarga son accesibles públicamente.
Para distribuir un paquete con App Center, vaya a App Center, vaya a la aplicación y, a continuación, vaya a Distribuir>grupos y seleccione Nueva versión. Siga los pasos del asistente.
En el primer paso, elija el área Publicación para buscar el archivo que desea cargar, o arrastre y suelte el archivo en el área. Dependiendo del sistema operativo de su aplicación y de la extensión de archivo, App Center podría pedirle que introduzca una versión y un número de compilación para su lanzamiento. Escriba la información y elija Siguiente.
Puede incluir notas de la versión como parte de esta, tanto en texto sin formato como en formato Markdown. Elija Siguiente.
Puede dirigir su lanzamiento a varios grupos de distribución o probadores. App Center pone esta versión a disposición de los evaluadores y los usuarios que forman parte de los grupos seleccionados. Elija Siguiente.
Al publicar una aplicación iOS, puede aprovisionar automáticamente los dispositivos de los evaluadores. Elija Siguiente.
Revise el lanzamiento. Si la aplicación usa el SDK de distribución, puede configurar App Center para que la versión sea obligatoria. Cuando App Center distribuye una versión, envía una notificación por correo electrónico de la nueva versión a todos los evaluadores establecidos en los destinos. Puede optar por no notificar a los evaluadores en la pestaña de revisión. Por último, elija Distribuir para liberar el archivo a los evaluadores.
Distribución mediante la interfaz de línea de comandos de App Center
Advertencia
Necesita la CLI de App Center 2.7 o posterior para usar esta característica.
Distribuya la versión mediante el appcenter distribute release comando en la CLI de App Center. El siguiente comando de ejemplo distribuye un archivo llamado ~/releases/my_app-23.ipa al grupo Beta testers de la aplicación My-App, propiedad de David.
appcenter distribute release --app David/My-App --file ~/releases/my_app-23.ipa --group "Beta testers"
Distribución mediante la API
Puede llamar a la API de App Center para distribuir una versión. El enfoque siguiente está pensado para describir un enfoque de trabajo mínimo, muchas de las tareas se pueden personalizar o automatizar aún más.
Aquí se puede ver una implementación de ejemplo: https://github.com/microsoft/appcenter-Xamarin.UITest-Demo/blob/main/ac-distribute.sh
Prerrequisitos
- Paquete de la aplicación que se va a cargar y distribuir.
- Obtenga un token de API. Se usa un token de API para la autenticación para todas las llamadas API de App Center.
- El nombre del grupo de distribución (opcional, si falta o no es válido, la carga todavía se completará).
- Identifique el
{owner_name}y el{app_name}para la aplicación para la que desea distribuir una versión. Estos identificadores se usan en la dirección URL de las llamadas API. En el caso de una aplicación propiedad de un usuario, la dirección URL de App Center podría ser similar a la siguiente: https://appcenter.ms/users/Example-User/apps/Example-App. Aquí,{owner_name}esExample-Usery{app_name}esExample-App. En el caso de una aplicación propiedad de una organización, la dirección URL podría ser https://appcenter.ms/orgs/Example-Org/apps/Example-App y{owner_name}seríaExample-Org.
Cargar nueva versión
Cargue una nueva versión con estas llamadas API secuenciales:
Crear una subida de nueva versión: el punto de conexión al que llamar es POST /v0.1/apps/{owner_name}/{app_name}/uploads/releases
OWNER_NAME="Example-Org" APP_NAME="Example-App" API_TOKEN="Example-Token" curl -X POST "https://api.appcenter.ms/v0.1/apps/$OWNER_NAME/$APP_NAME/uploads/releases" -H "accept: application/json" -H "X-API-Token: $API_TOKEN" -H "Content-Type: application/json" -H "Content-Length: 0"La respuesta tendrá un aspecto similar al siguiente, con
{VARIABLE_NAME}reemplazando datos únicos para cada uso.{ "id": "{ID}", "package_asset_id": "{PACKAGE_ASSET_ID}", "upload_domain": "https://file-aks.appcenter.ms", "token": "{TOKEN}", "url_encoded_token": "{URL_ENCODED_TOKEN}" }Copie los parámetros de la respuesta en el paso anterior, ya que la mayoría de ellos se usan en el paso siguiente, incluidos ,
package_asset_idupload_domainyurl_encoded_token.Determine el tamaño del paquete de la aplicación en bytes. Se recomienda usar un comando como
wc -c ExampleApp.ipapara obtener un recuento de bytes preciso.Establezca el
MIME Typepara lacontent_typesegún su aplicación.-
Android .apk usa el tipo de proveedor
application/vnd.android.package-archive -
Android .aab usa el tipo de proveedor
application/x-authorware-bin -
iOS usa el tipo general
application/octet-stream
El comando final debe tener un aspecto similar al siguiente:
FILE_NAME="ExampleApp.apk" FILE_SIZE_BYTES=$(wc -c $RELEASE_FILE_LOCATION | awk '{print $1}') APP_TYPE='application/vnd.android.package-archive' # iOS uses `application/octet-stream` instead. METADATA_URL="https://file-aks.appcenter.ms/upload/set_metadata/$PACKAGE_ASSET_ID?file_name=$FILE_NAME&file_size=$FILE_SIZE_BYTES&token=$URL_ENCODED_TOKEN&content_type=$APP_TYPE" curl -s -d POST -H "Content-Type: application/json" -H "Accept: application/json" -H "X-API-Token: $API_TOKEN" "$METADATA_URL"La salida devuelta debe tener un aspecto similar al siguiente:
{ "error":false, "id":"{PACKAGE_ASSET_ID}", "chunk_size":4194304, "resume_restart":false, "chunk_list":[1,2,3,4,5], "blob_partitions":1, "status_code":"Success" }-
Android .apk usa el tipo de proveedor
Con el valor
chunk_sizeque no se puede personalizar, puedes dividir la carga de tu aplicación en fragmentos secuenciales para la carga a Distribute. Por ejemplo, puede usar la utilidadsplitde esta manera:split -b $CHUNK_SIZE $RELEASE_FILE_LOCATION temp/splitEste comando genera archivos secuenciales en el
tempdirectorio denominadosplitaa,splitab, etc. Cada archivo se divide dentro delchunk_sizelímite.A continuación, debe cargar cada fragmento del paquete de aplicación dividido con el bloque correspondiente:
BLOCK_NUMBER=0 for i in temp/* do BLOCK_NUMBER=$(($BLOCK_NUMBER + 1)) CONTENT_LENGTH=$(wc -c "$i" | awk '{print $1}') UPLOAD_CHUNK_URL="https://file-aks.appcenter.ms/upload/upload_chunk/$PACKAGE_ASSET_ID?token=$URL_ENCODED_TOKEN&block_number=$BLOCK_NUMBER" curl -X POST $UPLOAD_CHUNK_URL --data-binary "@$i" -H "Content-Length: $CONTENT_LENGTH" -H "Content-Type: $CONTENT_TYPE" doneUna vez finalizada la carga, actualice el estado del recurso de carga a
uploadFinished.FINISHED_URL="https://file-aks.appcenter.ms/upload/finished/$PACKAGE_ASSET_ID?token=$URL_ENCODED_TOKEN" curl -d POST -H "Content-Type: application/json" -H "Accept: application/json" -H "X-API-Token: $API_TOKEN" "$FINISHED_URL" COMMIT_URL="https://api.appcenter.ms/v0.1/apps/$OWNER_NAME/$APP_NAME/uploads/releases/$ID" curl -H "Content-Type: application/json" -H "Accept: application/json" -H "X-API-Token: $API_TOKEN" \ --data '{"upload_status": "uploadFinished","id": "$ID"}' \ -X PATCH \ $COMMIT_URLUna vez cargado, hay un breve retraso antes de que la carga se marque como finalizada. Sondee este estado para obtener el
$RELEASE_IDpara el siguiente paso:RELEASE_STATUS_URL="https://api.appcenter.ms/v0.1/apps/$OWNER_NAME/$APP_NAME/uploads/releases/$UPLOAD_ID" POLL_RESULT=$(curl -s -H "Content-Type: application/json" -H "Accept: application/json" -H "X-API-Token: $API_TOKEN" $RELEASE_STATUS_URL) RELEASE_ID=$(echo $POLL_RESULT | jq -r '.release_distinct_id') if [[ $RELEASE_ID == null ]]; then echo "Failed to find release from appcenter" exit 1 fiPor último, publique la versión. El punto de conexión al que se va a llamar es PATCH /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}
DISTRIBUTE_URL="https://api.appcenter.ms/v0.1/apps/$OWNER_NAME/$APP_NAME/releases/$RELEASE_ID" curl -H "Content-Type: application/json" -H "Accept: application/json" -H "X-API-Token: $API_TOKEN" \ --data '{"destinations": [{ "name": "'"$DISTRIBUTION_GROUP"'"}] }' \ -X PATCH \ $DISTRIBUTE_URL
Distribuir versión
Distribuya la versión cargada a evaluadores, grupos o almacenes para ver la versión en el portal de App Center. Los tres puntos de conexión son:
- POST /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/testers
- POST /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/groups
- POST /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/stores
Ejemplo de grupos:
curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -H "X-API-Token: $API_TOKEN" -d "{ \"id\": "$DISTRIBUTION_GROUP_ID", \"mandatory_update\": false, \"notify_testers\": false}"
Puede encontrar el identificador del grupo de distribución en la página de configuración de ese grupo.
Aquí se hace referencia a la solicitud de distribución a varios destinos para escenarios más complejos: PATCH /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}
Re-Release una compilación
Para publicar una compilación en otro grupo de distribución, desde cualquier lugar de App Center, vaya a Distribuir > versiones y, a continuación, seleccione la versión que desea distribuir de nuevo. Se abre la página de detalles de la publicación. Seleccione el botón Distribuir en la esquina superior derecha de la pantalla y seleccione el destino para iniciar el proceso de nueva versión. Siga los pasos del asistente y, por último, seleccione Distribuir para enviar la versión a grupos o evaluadores o al almacén.
Actualizaciones obligatorias
Haga que una versión sea obligatoria para obligar a todos los usuarios a ejecutar la misma versión de la aplicación. Al hacerlo, App Center instalará la actualización seleccionada en todos los dispositivos evaluadores.
Solo puede hacer que una versión sea obligatoria si la aplicación usa el SDK de distribución de App Center. Para que una versión sea obligatoria, active la casilla Actualización obligatoria en la fase de revisión de la distribución de una versión, o bien puede usar la API.
Puede ver versiones obligatorias en App Center abriendo [Su aplicación] > Distribuir > Grupos > Versiones. Las versiones obligatorias se indican mediante un punto rojo.
Enlace a lanzamientos
Una vez que haya publicado correctamente, los evaluadores pueden acceder a la versión por correo electrónico, iniciar sesión en App Center o a través de un vínculo directo.
Puede encontrar enlaces a lanzamientos específicos en la página de lanzamientos para destinos privados.
Nota:
Los paquetes de aplicaciones de Android (AAB) están disponibles para su descarga en la página de versión haciendo clic en el botón de descarga. Si necesita un formato de archivo APK instalable, use el portal de instalación (https://install.appcenter.ms) en el dispositivo. Puede encontrar el vínculo debajo del código QR generado junto al botón de descarga.
Puedes encontrar enlaces a versiones específicas para destinos públicos en la pestaña de lanzamientos de los grupos públicos.