Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Visual Studio App Center bylo vyřazeno 31. března 2025 s výjimkou funkcí Analýzy a diagnostiky, které se budou dál podporovat až do 30. června 2026. Další informace.
Nahrajte binární balíček aplikace do App Center a distribuujte ho. App Center podporuje distribuci balíčků pro Android, iOS, macOS, Windows a vlastní aplikace operačního systému. Verze můžete distribuovat jednotlivým testerům nebo skupinám testerů. U aplikací pro iOS a Android můžete také vydávat do obchodů, jako jsou Google Play, App Store a Intune. Viz Publikování do spotřebitelských a podnikových obchodů.
Na této stránce se dozvíte, jak vygenerovat binární soubor pro vydání a jak ho nahrát a vydat do skupin pomocí portálu, rozhraní příkazového řádku (CLI) a rozhraní API (Application Programming Interface).
Můžete také použít Azure DevOps nebo Jenkins:
- Azure DevOps používá úlohu Distribuce App Center (verze 3+)
- Jenkins plugin (verze 0.11.0+)
Generování binárního balíčku aplikace
Nejprve musíte aplikaci zabalí do binárního souboru pro vydání. Tento soubor můžete vytvořit ručně.
Následující části vysvětlují, jak vytvořit soubory pro všechny typy aplikací, které App Center podporuje pro distribuci.
Poznámka:
Pokud nahrajete archiv (.zip, .ipa a další), celková nekomprimovaná velikost aplikace musí být menší než 4 GB.
Android
Pro Android musíte vytvořit podepsaný soubor aplikace nebo soubor APK. Úplné podrobnosti o tomto procesu najdete v oficiální dokumentaci Googlu k přípravě aplikace na vydání.
- Ujistěte se, že jste aktualizovali manifest a máte správně nakonfigurované sestavení Gradle.
- V Android Studiu zvolte Build>Generate Signed Bundle / APK a postupujte podle kroků v průvodci k sestavení sady aplikací nebo APK.
Android Studio uloží sady sestavených aplikací do název-projektu/název-modulu/build/outputs/bundle/ a také APKs do název-projektu/název-modulu/build/outputs/apk/.
Poznámka:
Když distribuujete sadu aplikací pro Android (AAB), App Center vygeneruje univerzální soubor APK, podepíše ho pomocí vygenerovaného podpisového klíče a distribuuje ho do zařízení.
iOS
Pro iOS musíte vytvořit balíček IPA pro vaši aplikaci. Úplné podrobnosti o tomto procesu najdete v oficiální dokumentaci společnosti Apple.
- Zaregistrujte identifikátory UDID pro všechna hardwarová zařízení ve vašem zřizovacím profilu.
- V Xcode přejděte doarchivu> a archivujte aplikaci.
- Exportujte archiv pomocí správného zřizovacího profilu.
macOS
Pro macOS musíte vytvořit balíček aplikace. App Center podporuje vydávání balíčků aplikací typu .app.zip, .pkg nebo .dmg. Úplné podrobnosti o tomto procesu najdete v oficiální dokumentaci k Apple macOS.
- Zaregistrujte jedno zařízení nebo zaregistrujte několik zařízení ve svém vývojářském účtu Apple.
- V Xcode přejděte doarchivu> a archivujte aplikaci.
- Exportujte archiv pomocí správného zřizovacího profilu.
Windows
App Center podporuje vydávání balíčků aplikací pro Windows typu .appx, .appxbundle, .appxupload, .msi, .msix, .msixbundle, .msixupload, nebo .zip. Úplné podrobnosti o tom, jak zabalit aplikaci ve formátech AppX nebo MSIX, najdete v oficiální dokumentaci k UPW microsoftu.
Vlastní operační systém
Archivace buildu pro aplikace s vlastním operačním systémem ve formátu .zip
Distribuce balíčku
Poznámka:
Všechny adresy URL install.appcenter.ms, které obsahují soubory ke stažení, jsou veřejně přístupné.
Pokud chcete balíček distribuovat pomocí App Center, přejděte do App Center, zvolte svou aplikaci, poté přejděte na Distribute>Groups a vyberte Novou verzi. Postupujte podle kroků v průvodci.
V prvním kroku vyberte oblast uvolnění a vyhledejte soubor, který chcete nahrát, nebo soubor přetáhněte do oblasti. V závislosti na operačním systému vaší aplikace a příponě souboru vás App Center může požádat, abyste zadali verzi a číslo buildu pro vaši verzi. Zadejte informace a zvolte Další.
Poznámky k verzi můžete zahrnout jako součást verze, a to jak ve formátu prostého textu, tak ve formátu Markdownu. Zvolte Další.
Svou verzi můžete cílit na více distribučních skupin nebo testerů. App Center zpřístupní tuto verzi pro tyto testery a uživatele, kteří jsou součástí vybraných skupin. Zvolte Další.
Při vydávání aplikace pro iOS můžete automaticky zřídit zařízení testerů. Zvolte Další.
Zkontrolujte vydání. Pokud vaše aplikace používá Distribute SDK, můžete nakonfigurovat App Center tak, aby bylo vydání povinné. Když App Center distribuuje verzi, odešle e-mailové oznámení o nové verzi všem testerům nastaveným v cílech. Na kartě revize se můžete rozhodnout, že nebudete informovat testery. Nakonec zvolte Distribuovat, aby se soubor zveřejnil testerům.
Distribuce pomocí rozhraní příkazového řádku App Center
Výstraha
K použití této funkce potřebujete rozhraní příkazového řádku App Center CLI 2.7 nebo novější.
Distribuujte svůj release pomocí příkazu appcenter distribute release v App Center CLI. Následující ukázkový příkaz distribuuje soubor volaný ~/releases/my_app-23.ipa do skupiny Beta testers aplikace My-App vlastněné David.
appcenter distribute release --app David/My-App --file ~/releases/my_app-23.ipa --group "Beta testers"
Distribuce pomocí rozhraní API
K distribuci vydané verze můžete volat rozhraní API služby App Center. Níže uvedený přístup je určen k popisu minimálního pracovního přístupu, mnoho úloh je možné dále přizpůsobit nebo automatizovat.
Ukázkovou implementaci si můžete prohlédnout tady: https://github.com/microsoft/appcenter-Xamarin.UITest-Demo/blob/main/ac-distribute.sh
Požadavky
- Balíček aplikace pro nahrání a distribuci.
- Získejte token rozhraní API. Token rozhraní API se používá k ověřování pro všechna volání rozhraní API služby App Center.
- Název distribuční skupiny (nepovinný, pokud chybí nebo je neplatný, nahrávání se stále dokončí)
- Identifikujte
{owner_name}a{app_name}pro aplikaci, pro kterou chcete distribuovat vydání. Tyto identifikátory se používají v adrese URL pro volání rozhraní API. U aplikace vlastněné uživatelem může adresa URL v App Center vypadat takto: https://appcenter.ms/users/Example-User/apps/Example-App. Tady je{owner_name},Example-Usera je{app_name},Example-App. Pro aplikaci vlastněnou organizací může být URL adresa jako https://appcenter.ms/orgs/Example-Org/apps/Example-App a{owner_name}by bylaExample-Org.
Nahrát nové vydání
Nahrajte novou verzi pomocí těchto sekvenčních volání rozhraní API:
Vytvoření nového vydání verze: Koncový bod pro volání je 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"Odpověď bude vypadat přibližně takto, přičemž
{VARIABLE_NAME}nahradí data jedinečná pro každé použití:{ "id": "{ID}", "package_asset_id": "{PACKAGE_ASSET_ID}", "upload_domain": "https://file-aks.appcenter.ms", "token": "{TOKEN}", "url_encoded_token": "{URL_ENCODED_TOKEN}" }Zkopírujte parametry z odpovědi v předchozím kroku, protože většina z nich se používá v dalším kroku, včetně
package_asset_id, &upload_domainurl_encoded_token.Určete velikost balíčku aplikace v bajtech. Doporučuje se použít příkaz, například
wc -c ExampleApp.ipak získání přesného počtu bajtů.MIME TypeNastavte procontent_typesvoji aplikaci:-
Android .apk používá typ dodavatele.
application/vnd.android.package-archive -
Android .aab používá typ dodavatele.
application/x-authorware-bin -
iOS používá obecný typ.
application/octet-stream
Poslední příkaz by měl vypadat přibližně takto:
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"Vrácený výstup by měl vypadat přibližně takto:
{ "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 používá typ dodavatele.
chunk_sizePomocí hodnoty, kterou nelze přizpůsobit, můžete aplikaci rozdělit do sekvenčních bloků dat pro nahrání do distribuce. Můžete například použítsplitnástroj takto:split -b $CHUNK_SIZE $RELEASE_FILE_LOCATION temp/splitTento příkaz generuje sekvenční soubory v
tempadresáři s názvemsplitaa,splitaba tak dále. Každý soubor je rozdělený v rámci limituchunk_size.Dále je potřeba nahrát každou část rozděleného balíčku aplikace s příslušným komponentem:
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" donePo dokončení nahrávání aktualizujte stav prostředku pro nahrání na
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_URLPo nahrání je krátké zpoždění, než se nahrávání označí jako dokončené. Proveďte dotaz na tento stav a získáte
$RELEASE_IDpro následující krok.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 fiNakonec sestavení uvolněte. Koncový bod, který je třeba zavolat, je 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
Distribuovat vydání
Distribuujte nahranou verzi do testerů, skupin nebo obchodů a podívejte se na verzi na portálu App Center. Tři koncové body jsou:
- POST /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/testery
- POST /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/groups
- POST /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/stores
Příklad pro skupiny:
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}"
ID distribuční skupiny najdete na stránce nastavení této skupiny.
Na žádost o distribuci do více cílů se zde odkazuje pro složitější scénáře: PATCH /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}
Re-Release sestavení
Pokud chcete uvolnit build do jiné distribuční skupiny, přejděte z libovolného místa v App Center na Distribuovat > vydané verze a pak vyberte verzi, kterou chcete znovu distribuovat. Otevře se stránka s podrobnostmi o verzi. Vyberte tlačítko Distribuovat v pravém horním rohu obrazovky a výběrem cíle spusťte proces opětovného uvolnění. Postupujte podle pokynů v průvodci a nakonec vyberte Distribuovat , aby se verze odeslala skupinám nebo testerům nebo úložišti.
Povinné aktualizace
Udělejte verzi aplikace povinnou, aby všichni uživatelé museli používat stejnou verzi. Když to uděláte, App Center nainstaluje vybranou aktualizaci na všechna zařízení testeru.
Verzi můžete nastavit jako povinnou, pouze pokud vaše aplikace používá sadu App Center Distribute SDK. Udělejte vydání povinným zaškrtnutím políčka Povinná aktualizace ve fázi kontroly distribuce vydání, nebo můžete použít rozhraní API.
Povinné verze můžete zobrazit v App Center tak, že otevřete aplikaci [Vaše aplikace] > Distribuce > verzí skupin>. Povinné verze jsou označené červenou tečkou.
Odkaz na vydané verze
Po úspěšném vydání budou mít testeři přístup k verzi prostřednictvím e-mailu, přihlášení k App Center nebo prostřednictvím přímého odkazu.
Odkazy na konkrétní verze najdete na stránce s vydáními pro soukromé destinace.
Poznámka:
Sady aplikací pro Android (AAB) jsou k dispozici ke stažení na stránce vydané verze kliknutím na tlačítko pro stažení. Pokud potřebujete instalovatelný formát souboru APK, použijte na svém zařízení instalační portál (https://install.appcenter.ms). Odkaz najdete pod vygenerovaným kódem QR vedle tlačítka pro stažení.
Na kartě vydání ve veřejných skupinách najdete odkazy na konkrétní verze, které směřují na veřejné cíle.