Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Viktigt!
Visual Studio App Center drogs tillbaka den 31 mars 2025, förutom analys- och diagnostikfunktionerna, som fortsätter att stödjas fram till den 30 juni 2026. Läs mer.
Ladda upp ditt binära programpaket till App Center för att distribuera det. App Center stöder paketdistribution för Android-, iOS-, macOS-, Windows- och anpassade operativsystemappar. Du kan distribuera versioner till enskilda testare eller grupper av testare. För iOS- och Android-program kan du även släppa till butiker som Google Play, App Store och Intune. Se Publicera på butiker för konsumenter och företag.
På den här sidan kan du lära dig hur du genererar binärfilen för lansering och hur du laddar upp och släpper den till grupper med hjälp av portalen, kommandoradsgränssnittet (CLI) och programprogrammeringsgränssnittet (API).
Du kan också använda Azure DevOps eller Jenkins:
- Azure DevOps använder App Center-distributionsuppgiften (version 3+)
- Jenkins-plugin-program (version 0.11.0+).
Generera ett binärt programpaket
Först måste du paketera programmet i en binär fil för lansering. Du kan skapa den här filen manuellt.
I följande avsnitt beskrivs hur du skapar filerna för alla apptyper som App Center stöder för distribution.
Anmärkning
Om du ska ladda upp arkiv (.zip, .ipa och andra) måste appens totala okomprimerade storlek vara mindre än 4 GB.
Android
För Android måste du skapa ett signerat apppaket eller EN APK-fil. Fullständig information om den här processen finns i den officiella Google-dokumentationen om hur du förbereder en app för lansering.
- Se till att du har uppdaterat manifestet och har en korrekt konfigurerad Gradle-version.
- I Android Studio väljer du Skapa>generera signerat paket/APK och följer stegen i guiden för att skapa apppaketet eller APK:t.
Android Studio placerar inbyggda apppaket i project-name/module-name/build/outputs/bundle/ och APK:er i project-name/module-name/build/outputs/apk/.
Anmärkning
När du distribuerar Android Application Bundle (AAB) genererar App Center en universell APK, signerar den med en genererad signeringsnyckel och distribuerar den till en enhet.
Ios
För iOS måste du skapa ett IPA-paket för ditt program. Fullständig information om den här processen finns i den officiella Apple-dokumentationen.
- Registrera UDID:er för alla maskinvaruenheter i din etableringsprofil.
- I Xcode går du till Produktarkiv> för att arkivera din app.
- Exportera arkivet med rätt profileringsprofil.
macOS
För macOS måste du skapa ett apppaket. App Center har stöd för att släppa apppaket av typen .app.zip, .pkg eller .dmg. Fullständig information om den här processen finns i den officiella Apple macOS-dokumentationen.
- Registrera en enskild enhet eller registrera flera enheter på ditt Apple-utvecklarkonto.
- I Xcode går du till Produktarkiv> för att arkivera din app.
- Exportera arkivet med rätt profileringsprofil.
Windows
App Center har stöd för att släppa Windows-apppaket av typen .appx, .appxbundle, .appxupload, .msi, .msix, .msixbundle, .msixuploadeller .zip. Fullständig information om hur du paketar din app i AppX- eller MSIX-format finns i den officiella Microsoft UWP-dokumentationen.
Anpassat operativsystem
Arkivera din byggversion för appar med ett anpassat operativsystem i .zip format.
Distribuera paketet
Anmärkning
Alla install.appcenter.ms URL:er som innehåller filer för nedladdning är offentligt tillgängliga.
Om du vill distribuera ett paket med App Center går du till App Center, går till din app och går sedan till Distribuera>grupper och väljer Ny version. Följ stegen i guiden.
I det första steget väljer du området Release för att bläddra efter den fil som du vill ladda upp, eller dra och släppa filen till området. Beroende på operativsystemet för din app och filtillägget kan App Center be dig att ange en version och ett versionsnummer för din version. Ange informationen och välj Nästa.
Du kan inkludera viktig information som en del av din version, både i oformaterad text eller Markdown-format. Välj Nästa.
Du kan rikta din version mot flera distributionsgrupper eller testare. App Center gör den här versionen tillgänglig för testarna och de användare som ingår i de valda grupperna. Välj Nästa.
När du släpper en iOS-app kan du automatiskt konfigurera testarnas enheter. Välj Nästa.
Granska versionen. Om din app använder Distribuera SDK kan du konfigurera App Center så att versionen blir obligatorisk. När App Center distribuerar en version skickar den ett e-postmeddelande om den nya versionen till alla testare som angetts i målen. Du kan välja att inte meddela testare på granskningsfliken. Välj slutligen Distribuera för att släppa filen till testarna.
Distribuera med hjälp av kommandoradsgränssnittet i App Center
Varning
Du behöver App Center CLI 2.7 eller senare för att kunna använda den här funktionen.
Distribuera din version med hjälp av appcenter distribute release kommandot i App Center CLI. Följande exempelkommando distribuerar en fil som heter ~/releases/my_app-23.ipa till gruppen Beta testers för appen My-App som ägs av David.
appcenter distribute release --app David/My-App --file ~/releases/my_app-23.ipa --group "Beta testers"
Distribuera med hjälp av API:et
Du kan anropa App Center-API:et för att distribuera en version. Metoden nedan är avsedd att beskriva en minimal arbetsmetod, många av uppgifterna kan anpassas ytterligare eller automatiseras.
En exempelimplementering visas här: https://github.com/microsoft/appcenter-Xamarin.UITest-Demo/blob/main/ac-distribute.sh
Förutsättningar
- Apppaketet som ska laddas upp och distribueras.
- Hämta en API-token. En API-token används för autentisering för alla App Center API-anrop.
- Distributionsgruppens namn (valfritt, om det saknas eller är ogiltigt kommer uppladdningen fortfarande att slutföras)
- Identifiera
{owner_name}och{app_name}för den app som du vill distribuera en utgåva av. Dessa identifierare används i URL:en för API-anropen. För en app som ägs av en användare kan URL:en i App Center se ut så här: https://appcenter.ms/users/Example-User/apps/Example-App.{owner_name}Här ärExample-Useroch{app_name}ärExample-App. För en app som ägs av en organisation kan URL:en vara https://appcenter.ms/orgs/Example-Org/apps/Example-App och{owner_name}skulle varaExample-Org.
Ladda upp ny version
Ladda upp en ny version med hjälp av följande sekventiella API-anrop:
Skapa en ny versionsuppladdning: Slutpunkten som ska anropas är 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"Svaret ser ut ungefär så här, med
{VARIABLE_NAME}som ersätter data som är unikt för varje användning.{ "id": "{ID}", "package_asset_id": "{PACKAGE_ASSET_ID}", "upload_domain": "https://file-aks.appcenter.ms", "token": "{TOKEN}", "url_encoded_token": "{URL_ENCODED_TOKEN}" }Kopiera parametrarna från svaret i föregående steg, eftersom de flesta av dem används i nästa steg, inklusive
package_asset_id,upload_domain&url_encoded_token.Bestäm storleken på ditt apppaket i byte. Vi rekommenderar att du använder ett kommando som
wc -c ExampleApp.ipaför att få ett korrekt byteantal.Ställ in
MIME Typeförcontent_typebaserat på din app:-
Android-.apk använder leverantörstypen
application/vnd.android.package-archive -
Android .aab använder leverantörstypen
application/x-authorware-bin -
iOS använder den allmänna typen
application/octet-stream
Det slutliga kommandot bör se ut ungefär så här:
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"Utdata som returneras bör se ut ungefär så här:
{ "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 använder leverantörstypen
Med det
chunk_sizevärde som inte kan anpassas kan du dela upp din app i sekventiella segment för uppladdning till Distribuera. Du kan till exempel användasplitverktyget så här:split -b $CHUNK_SIZE $RELEASE_FILE_LOCATION temp/splitDet här kommandot genererar sekventiella filer i
tempkatalogen med namnetsplitaa,splitaboch så vidare. Varje fil delas upp inom gränsenchunk_size.Därefter måste du ladda upp varje segment i det delade apppaketet med respektive block:
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" doneNär uppladdningen är klar uppdaterar du uppladdningsresursens status till
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_URLNär uppladdningen har laddats upp är det en kort fördröjning innan uppladdningen markeras som klar. Sök efter denna status för att få
$RELEASE_IDtill nästa steg.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 fiSlutligen släpp versionen. Slutpunkten som ska anropas är 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
Distribuera utgåva
Distribuera den uppladdade versionen till testare, grupper eller butiker för att se versionen i App Center-portalen. De tre slutpunkterna är:
- 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
Ett exempel för grupper:
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}"
Du hittar distributionsgrupps-ID:t på inställningssidan för den gruppen.
Begäran om att distribuera till flera mål refereras här för mer komplexa scenarier: PATCH /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}
Re-Release ett bygge
Om du vill släppa en version till en annan distributionsgrupp går du från valfri plats i App Center till Distribuera > versioner och väljer sedan den version som du vill distribuera igen. Sidan med släppdetaljer öppnas. Välj knappen Distribuera i det övre högra hörnet på skärmen och välj målet för att starta återlanseringsprocessen. Följ stegen i guiden och välj slutligen Distribuera för att skicka versionen till grupper/testare eller butiken.
Obligatoriska uppdateringar
Gör en version obligatorisk för att tvinga alla användare att köra samma version av appen. När du gör detta installerar App Center den valda uppdateringen på alla testenheter.
Du kan bara göra en version obligatorisk om din app använder App Center Distribute SDK. Gör en version obligatorisk genom att markera kryssrutan Obligatorisk uppdatering i granskningsfasen för att distribuera en version, eller så kan du använda API:et.
Du kan visa obligatoriska versioner i App Center genom att öppna [Din app] > Distribuera > gruppversioner>. Obligatoriska versioner anges med en röd punkt.
Länk till utgåvor
När du har släppt den kan testarna komma åt versionen via e-post, logga in på App Center eller via en direktlänk.
Du hittar länkar till specifika versioner på versionssidan för privata destinationer.
Anmärkning
Android Application Bundles (AAB) är tillgängliga för nedladdning på versionssidan genom att klicka på nedladdningsknappen. Om du behöver ett installationsbart APK-filformat använder du installationsportalen (https://install.appcenter.ms) på enheten. Du hittar länken under den genererade QR-koden bredvid nedladdningsknappen.
Du hittar länkar till specifika utgåvor till offentliga destinationer på fliken utgåvor i offentliga grupper.