Derlemeyi Serbest Bırakma
Upload dağıtmak için uygulama ikili App Center paketinizi dağıtabilirsiniz. App Center Android, iOS, macOS, Windows ve özel işletim sistemi uygulamaları için paket dağıtımını destekler. Yayınları tek tek testçilere veya testçi gruplarına dağıtarak. iOS ve Android uygulamaları için Google Play, App Store ve Intune gibi mağazaları da yayımabilirsiniz. Bkz. Tüketici ve kuruluş mağazalarında yayımlama.
Bu sayfada, yayın için ikili dosya oluşturma ve portalı, komut satırı arabirimini (CLI) ve uygulama programlama arabirimini (API) kullanarak gruplara yükleme ve serbest bırakma hakkında bilgi edinebilirsiniz.
Azure DevOps veya Jenkins'i de kullanabilirsiniz:
- Azure DevOps Görevi App Center (sürüm 3+) kullanır
- Jenkins Eklentisi (sürüm 0.11.0+).
Uygulama ikili paketi oluşturma
İlk olarak, yayın için uygulamalarınızı bir ikili dosyada paketleniz. Bu dosyayı el ile oluşturabilir veya Derleme App Center kullanabilirsiniz. Derlemeyi, bir dalnın derleme yapılandırmasında otomatik olarak dağıtacak şekilde yapılandırabilirsiniz.
Aşağıdaki bölümlerde, dağıtım için desteklene tüm uygulama türleri için App Center nasıl oluşturulacak açıklanmaktadır.
Not
Arşivi (.zip, .ipa ve diğerleri) karşıya yükleyebilirsiniz. Bu nedenle, uygulamanın toplam sıkıştırılmamış boyutu 4 GB'ın altında olacaktır.
Android
Android için, imzalı bir uygulama paketi veya APK dosyası üretmelisiniz. Bu sürecin tüm ayrıntıları için, bir uygulamayı sürümüne hazırlamaya ilişkin resmi Google belgelerine bakın.
- Bildirimi güncelleştirilmiş ve doğru yapılandırılmış bir Gradle derlemesi olduğundan emin olun.
- Bu Android Studio İmzalı Paket Oluştur / APK'yi seçin ve uygulama paketi veya APK oluşturmak için > sihirbazda yer alan adımları izleyin.
Android Studio uygulama paketlerini proje-adı / modül-adı/build/outputs/bundle/ ve APK'ları proje-adı / modül-adı/build/outputs/apk/ içinde yer almaktadır.
Not
Android Uygulama Paketi (AAB) dağıtıyorsanız, App Center APK'sini üretir, oluşturulan bir imzalama anahtarıyla imzalar ve bir cihaza dağıtır.
iOS
iOS için, uygulamanıza bir IPA paketi üretmeniz gerekir. Bu sürecin tüm ayrıntıları için resmi Apple belgelerine bakın.
- Sağlama profilinizde tüm donanım cihazları için UDID'leri kaydetme.
- Xcode'da Ürün Arşivi'ne > gidip uygulamanızı arşivleyin.
- Uygun sağlama profilini kullanarak arşivi dışarı aktarın.
Mac OS
macOS için bir uygulama paketi üretmeniz gerekir. App Center .app.zip, .pkg veya .dmg türünde uygulama paketlerini serbest bırakmayı destekler. Bu sürecin tüm ayrıntıları için resmi Apple macOS belgelerine bakın.
- Apple geliştirici hesabınıza tek bir cihaz kaydetme veya birden çok cihaz kaydetme.
- Xcode'da Ürün Arşivi'ne > gidip uygulamanızı arşivleyin.
- Uygun sağlama profilini kullanarak arşivi dışarı aktarın.
Windows
App Center , , Windows , , , , veya türünde uygulama .appx .appxbundle .appxupload .msi .msix paketlerinin .msixbundle serbest .msixupload bırakılmasını .zip destekler. AppX veya MSIX biçimlerinde uygulamalarınızı paketleme hakkında ayrıntılı bilgi için resmi Microsoft UWP belgelerine bakın.
Özel işletim sistemi
Derlemenizi özel bir işletim sistemine sahip uygulamalar için .zip arşivler.
Paketi dağıtma
Bir paketi App Center dağıtmak için App Center'agidin, uygulamanıza gidin, Grupları Dağıt'a gidin ve Yeni > yayın'ı seçin. Sihirbazdaki adımları izleyin.

İlk adımda, karşıya yüklemek istediğiniz dosyaya göz atmak için Yayın alanı'ı seçin veya dosyayı sürükleyip alana bırakın. Uygulamanın işletim sistemine ve dosya uzantısına bağlı olarak, App Center sürümünüz için bir sürüm ve derleme numarası girmenizi isteyebilirsiniz. Bilgileri girin ve Sonraki'yi seçin.
Sürüm notlarını sürümün bir parçası olarak hem düz metin hem de Markdown biçiminde ekleyebilirsiniz. İleri’yi seçin.
Yayınını birden çok dağıtım grubu veya testçide hedefleysiniz. App Center, bu sürümü seçilen grupların parçası olan testçiler ve kullanıcılar için kullanılabilir yapar. İleri’yi seçin.

Bir iOS uygulamasını serbest bırakarak testçinizin cihazlarını otomatik olarak sebilirsiniz. İleri’yi seçin.
Sürümü gözden geçirme. Uygulamanız SDK'yı Dağıt'ıkullanıyorsa, sürümü zorunlu App Center için sdk'yı yapılandırabilirsiniz. Bir App Center dağıtıyorsanız, hedeflerde ayarlanmış tüm testçilere yeni sürümün e-posta bildirimini gönderir. gözden geçirme sekmesinde testçilere bildirmeyebilirsiniz. Son olarak, dosyayı testçilerinize serbest bırakmak için Dağıt'ı seçin.
Komut satırı App Center kullanarak dağıtma
Uyarı
Bu özelliği App Center CLI 2.7 veya daha yeni bir sürüme sahip olmak gerekir.
appcenter distribute releaseApp Center CLI'de komutunu kullanarak sürümü App Center dağıtabilirsiniz. Aşağıdaki örnek komut, adlı dosyayı ~/releases/my_app-23.ipa sahip olduğu uygulama grubuna Beta testers My-App David dağıtır.
appcenter distribute release --app David/My-App --file ~/releases/my_app-23.ipa --group "Beta testers"
API kullanarak dağıtma
Yayın dağıtmak için App Center API'sini çağırabilirsiniz. Aşağıdaki yaklaşım minimum çalışma yaklaşımını açıklamaya yöneliktir; görevlerin çoğu daha fazla özelleştirilebilir veya otomatikleştirilebilir.
Örnek bir uygulama burada görülebilir: https://github.com/microsoft/appcenter-Xamarin.UITest-Demo/blob/main/ac-distribute.sh
Önkoşullar
- Karşıya yüklemek ve dağıtmak için Uygulama paketi.
- BIR API belirteci alın. Api Belirteci, tüm API çağrılarını App Center için kullanılır.
- Dağıtım Grubu Adı (isteğe bağlı, eksik veya geçersizse karşıya yükleme yine tamamlanır)
- Bir
{owner_name}sürümü{app_name}dağıtmak istediğiniz uygulamanın ve kimliklerini belirleme. Bu tanımlayıcılar API çağrılarında URL'de kullanılır. Bir kullanıcıya ait olan bir uygulama için, App Center URL şöyle olabilir: https://appcenter.ms/users/Example-User/apps/Example-App . Burada ,{owner_name}veExample-User{app_name}Example-Appolur. Bir kuruluşa ait olan bir uygulamanın URL'si olabilir https://appcenter.ms/orgs/Example-Org/apps/Example-App ve{owner_name}Example-Orgolabilir.
Upload Yeni Sürüm
Upload API çağrılarını kullanarak yeni bir yayın yayımla:
Karşıya yükleme kaynağı oluşturma ve (24 saat için iyi): Çağrılma uç noktası
upload_urlPOST /v0.1/apps/{owner_name}/{app_name}/uploads/releases şeklindedirOWNER_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"Sonuç, her kullanım için benzersiz olan
{VARIABLE_NAME}verileri değiştirerek aşağıdakine benzer:{ "id": "{ID}", "package_asset_id": "{PACKAGE_ASSET_ID}", "upload_domain": "https://file.appcenter.ms", "token": "{TOKEN}", "url_encoded_token": "{URL_ENCODED_TOKEN}" }Önceki adımda verilen yanıttan parametreleri kopyalayın, bunların çoğu , dahil olmak üzere bir sonraki adımda
package_asset_idupload_domain&url_encoded_tokenkullanılır.Uygulama paketinizin boyutunu bayt cinsinden belirler. Doğru bir bayt sayısı almak için gibi
wc -c ExampleApp.ipabir komut kullanılması önerilir.için,
MIME Typecontent_typeuygulamanıza göre ayarlayın:- Android satıcı türünü kullanır
application/vnd.android.package-archive - iOS genel türünü kullanır
application/octet-stream
Son komut aşağıdakine benzer şekilde olmalı:
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.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"Döndürülen çıktı şuna benzer şekilde görünüyor:
{ "error":false, "id":"{UPLOAD_ID}", "chunk_size":4194304, "resume_restart":false, "chunk_list":[1,2,3,4,5], "blob_partitions":1, "status_code":"Success" }- Android satıcı türünü kullanır
chunk_sizeÖzelleştirilene değeri kullanarak, dağıt'a yüklemek için uygulama karşıya yüklemenizi sıralı öbeklere bölebilirsiniz. Örneğin, yardımcı programınısplitşu şekilde kullanabilirsiniz:split -b $CHUNK_SIZE $RELEASE_FILE_LOCATION temp/splitBu komut , ve gibi adlı
tempdizindesplitaasıralı dosyalarsplitabüretir. Her dosya sınır içindechunk_sizebölünüyor.Ardından, bölünmüş uygulama paketinin her bir öbbeklerini ilgili blokla karşıya yükleyebilirsiniz:
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.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" doneKarşıya yükleme işlemi tamam olduktan sonra, karşıya yükleme kaynağının durumunu olarak
uploadFinishedgüncelleştirin.FINISHED_URL="https://file.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/$UPLOAD_ID" curl -H "Content-Type: application/json" -H "Accept: application/json" -H "X-API-Token: $API_TOKEN" \ --data '{"upload_status": "uploadFinished","id": "$UPLOAD_ID"}' \ -X PATCH \ $COMMIT_URLKarşıya yüklendiktan sonra, karşıya yükleme tamamlandı olarak işaretlenirken kısa bir gecikme olur. Sonraki adıma ulaşmak için bu durum için yoklama yapın
$RELEASE_ID: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 fiSon olarak, derlemeyi yayınlayın. Çağrılacak uç nokta /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
Yayını dağıt
App Center portalında sürümü görmek için, yüklenen sürümü sınayıcılara, gruplara veya depolarına dağıtın. Üç uç nokta şunlardı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}/mağazalardan
Gruplar için bir örnek:
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}"
Dağıtım grubu KIMLIĞINI bu grubun ayarlar sayfasında bulabilirsiniz.
Daha karmaşık senaryolar için birden çok hedefe dağıtım isteğine şu şekilde başvuruluyor: Patch/v0.1/Apps/{owner_name}/{app_name}/releases/{release_id}
Bir derlemeyi Re-Release
Bir derlemeyi başka bir dağıtım grubuna serbest bırakmak için App Center herhangi bir konumdan > sürümlerini dağıtın ve ardından yeniden dağıtmak istediğiniz yayını seçin. Sürüm ayrıntıları sayfası açılır. Ekranın sağ üst köşesindeki Dağıt düğmesini seçin ve yeniden yayınlama işlemini başlatmak için hedefi seçin. Sihirbazdaki adımları izleyin ve son olarak, yayını gruplar/Sınayıcılar veya mağazaya göndermek için Dağıt ' ı seçin.
Zorunlu güncelleştirmeler
Tüm kullanıcıları uygulamanızın aynı sürümünü çalıştırmaya zorlamak için bir yayın zorunlu hale getirin. Bunu yaptığınızda, App Center seçili güncelleştirmeyi tüm test eden cihazlara yükleyecek.
Yalnızca uygulamanız App Center dağıtım SDK 'sını kullanıyorsa, bir yayın zorunlu hale getirebilirsiniz. Bir yayın dağıtmaya yönelik gözden geçirme aşamasında zorunlu güncelleştirme onay kutusunu seçerek bir yayın zorunlu hale getirin veya API 'yi kullanabilirsiniz.
> grupları > sürümlerini dağıtmak > [uygulamanızı] açarak App Center zorunlu yayınları görüntüleyebilirsiniz. Zorunlu yayınlar kırmızı bir noktayla belirtilir.
Yayınların bağlantısı
Başarıyla yayımlandıktan sonra, test ediciler yayına e-posta yoluyla erişebilir, App Center oturum açabilir veya doğrudan bir bağlantı aracılığıyla erişebilir.
Özel hedefler için sürüm sayfasında belirli yayınların bağlantılarını bulabilirsiniz.

Not
Android uygulama demeti (AAB), sürüm sayfasında indir düğmesine tıklayarak indirilebilir. Yüklenebilir bir APK dosya biçimine ihtiyacınız varsa, lütfen Install Portal 'ı (cihazınızda) kullanın https://install.appcenter.ms) . Bağlantıyı, oluşturulan QR kodunun altında indir düğmesinin yanında bulabilirsiniz.
Genel hedeflere yönelik belirli yayınların bağlantılarını, ortak gruplardaki yayınlar sekmesinde bulabilirsiniz.
