İngilizce dilinde oku

Aracılığıyla paylaş


Derleme Yayınlama

Önemli

Visual Studio App Center 31 Mart 2025'te kullanımdan kaldırılıyor. Tamamen kullanımdan kaldırılana kadar Visual Studio App Center'ı kullanmaya devam edebilirsiniz ancak geçiş yapmayı düşünebileceğiniz birkaç önerilen alternatif vardır.

Destek zaman çizelgeleri ve alternatifleri hakkında daha fazla bilgi edinin.

Uygulama ikili paketinizi dağıtmak için App Center'a yükleyin. App Center; Android, iOS, macOS, Windows ve özel işletim sistemi uygulamaları için paket dağıtımlarını destekler. Sürümleri tek tek test edenlere veya test eden gruplarına dağıtabilirsiniz. iOS ve Android uygulamaları için Google Play, App Store ve Intune gibi mağazalarda da yayın yapabilirsiniz. Bkz. Tüketici ve kurumsal mağazalarda yayımlama.

Bu sayfada, yayın için ikili dosya oluşturmayı ve portalı, komut satırı arabirimini (CLI) ve uygulama programlama arabirimini (API) kullanarak bu ikili dosyayı karşıya yükleyip gruplara nasıl yayımlayacağınızı öğrenebilirsiniz.

Azure DevOps veya Jenkins'i de kullanabilirsiniz:

Uygulama ikili paketi oluşturma

İlk olarak uygulamanızı yayın için ikili bir dosyaya paketlemeniz gerekir. Bu dosyayı el ile oluşturabilir veya App Center Build'i kullanabilirsiniz. Derleme'yi, bir dalın derleme yapılandırmasında otomatik olarak dağıtacak şekilde yapılandırabilirsiniz.

Aşağıdaki bölümlerde, App Center'ın dağıtım için desteklediği tüm uygulama türleri için dosyaların nasıl oluşturulacağı açıklanmaktadır.

Not

Arşivi (.zip, .ipa ve diğerleri) karşıya yükleyecekseniz uygulamanızın sıkıştırılmamış toplam boyutu 4 GB'tan az olmalıdır.

Android

Android için, imzalı bir uygulama paketi veya APK dosyası oluşturmanız gerekir. Bu işlemin tüm ayrıntıları için bir uygulamayı yayına hazırlamaya ilişkin resmi Google belgelerine bakın.

  1. Bildirimi güncelleştirdiğinizden ve doğru yapılandırılmış bir Gradle derlemesine sahip olduğunuzdan emin olun.
  2. Android Studio'da, İmzalı>Paket Oluştur / APK Oluştur'u seçin ve uygulama paketini veya APK'yı derlemek için sihirbazdaki adımları izleyin.

Android Studio, proje adı modül adı/derleme/çıkış/paket/ ve PROJE-adı//modül-adı/derleme/çıkış/apk/ içindeki API'lere yerleşik uygulama paketleri yerleştirir.

Not

Android Uygulama Paketini (AAB) dağıttığınızda App Center evrensel bir APK oluşturur, oluşturulan imzalama anahtarıyla imzalar ve bir cihaza dağıtır.

iOS

iOS için uygulamanız için bir IPA paketi oluşturmanız gerekir. Bu işlemin tüm ayrıntıları için resmi Apple belgelerine bakın.

  1. Sağlama profilinizdeki tüm donanım cihazları için UDID'leri kaydedin.
  2. Xcode'da Ürün>Arşivi'ne giderek uygulamanızı arşivlersiniz.
  3. Uygun sağlama profilini kullanarak arşivi dışarı aktarın.

Mac OS

macOS için bir uygulama paketi oluşturmanız gerekir. App Center.app.zip, .pkg veya .dmg türünde uygulama paketlerinin yayınını destekler. Bu işlemin tüm ayrıntıları için resmi Apple macOS belgelerine bakın.

  1. Apple geliştirici hesabınızda tek bir cihaz veya birden çok cihaz kaydedin.
  2. Xcode'da Ürün>Arşivi'ne giderek uygulamanızı arşivlersiniz.
  3. Uygun sağlama profilini kullanarak arşivi dışarı aktarın.

Windows

App Center , , , .msi.msixupload.appxbundle.appxupload.msix.msixbundleveya .ziptüründe .appxWindows uygulama paketlerinin yayınını destekler. Uygulamanızı AppX veya MSIX biçimlerinde paketleme hakkında tüm ayrıntılar için resmi Microsoft UWP belgelerine bakın.

Özel işletim sistemi

Uygulamalar için derlemenizi özel bir işletim sistemiyle .zip biçimde arşivleyin.

Paketi dağıtma

Not

İndirilmesi gereken dosyaları içeren tüm install.appcenter.ms URL'lere genel erişim sağlanır.

App Center ile bir paketi dağıtmak için App Center'a gidin, uygulamanıza gidin, ardındanGruplarıDağıt'a> gidin ve Yeni sürüm'e tıklayın. Sihirbazdaki adımları izleyin. Yeni bir sürümü dağıtma

İlk adımda, karşıya yüklemek istediğiniz dosyaya göz atmak için Yayın alanını seçin veya dosyayı sürükleyip alana bırakın. Uygulamanızı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 isteyebilir. Bilgileri girin ve İleri'yi seçin.

Sürüm notlarını yayınınızın bir parçası olarak hem düz metin hem de Markdown biçiminde ekleyebilirsiniz. İleri’yi seçin.

Yayınınızı birden çok dağıtım grubuna veya test ediciye hedefleyebilirsiniz. App Center bu sürümü, bu test edenlerin ve seçilen grupların parçası olan kullanıcıların kullanımına sağlar. İleri’yi seçin.

Yayın hedeflerini ayarlama

Bir iOS uygulamasını yayınlarken test edicilerinizin cihazlarını otomatik olarak sağlayabilirsiniz. İleri’yi seçin.

Sürümü gözden geçirin. Uygulamanız Dağıtım SDK'sını kullanıyorsa, App Center'ı yayını zorunlu hale getirmek için yapılandırabilirsiniz. App Center bir sürümü dağıttığında, hedeflerde ayarlanan tüm test edicilere yeni sürümün e-posta bildirimini gönderir. Gözden geçirme sekmesinde test edenleri bilgilendirmemeyi seçebilirsiniz. Son olarak, dosyayı test edenlerinize yayınlamak için Dağıt'ı seçin.

App Center komut satırı arabirimini kullanarak dağıtma

Uyarı

Bu özelliği kullanmak için App Center CLI 2.7 veya daha yeni bir sürüm gerekir.

App Center CLI'daki komutunu kullanarak appcenter distribute release yayınınızı dağıtın. Aşağıdaki örnek komut, adlı ~/releases/my_app-23.ipa bir dosyayı sahip Davidolduğu uygulama My-App grubuna Beta testers dağıtır.

appcenter distribute release --app David/My-App --file ~/releases/my_app-23.ipa --group "Beta testers"

API kullanarak dağıtma

Bir sürümü dağıtmak için App Center API'sini çağırabilirsiniz. Aşağıdaki yaklaşım, en düşük ç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üklenecek ve dağıtılan Uygulama paketi.
  • API belirteci alma. Api Belirteci tüm App Center API çağrıları için kimlik doğrulaması için kullanılır.
  • Dağıtım Grubu Adı (isteğe bağlı, eksik veya geçersizse karşıya yükleme tamamlanır)
  • Yayınını {owner_name} dağıtmak istediğiniz uygulamanın ve'sini {app_name} belirleyin. Bu tanımlayıcılar API çağrılarının URL'sinde kullanılır. Bir kullanıcıya ait bir uygulama için App Center'daki URL şöyle görünebilir: https://appcenter.ms/users/Example-User/apps/Example-App. Burada, {owner_name} is Example-User ve is {app_name}Example-App. Bir kuruluşa ait bir uygulama için, URL olabilir https://appcenter.ms/orgs/Example-Org/apps/Example-App ve {owner_name} şeklinde olabilir Example-Org.
Yeni Sürümü Karşıya Yükle

Şu sıralı API çağrılarını kullanarak yeni bir sürümü karşıya yükleyin:

  1. Yeni bir sürüm karşıya yükleme oluşturun: Çağrılan uç nokta 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"
    

    Yanıt, her kullanım için benzersiz olan verileri değiştirerek şuna {VARIABLE_NAME} benzer olacaktır:

         {
             "id": "{ID}",
             "package_asset_id": "{PACKAGE_ASSET_ID}",
             "upload_domain": "https://file.appcenter.ms",
             "token": "{TOKEN}",
             "url_encoded_token": "{URL_ENCODED_TOKEN}"
         }
    
  2. Parametreleri önceki adımda verilen yanıttan kopyalayın; bunların çoğu sonraki adımda kullanıldığından package_asset_id, upload_domain & url_encoded_token.

    Uygulama paketinizin bayt cinsinden boyutunu belirleyin. Doğru bir bayt sayısı elde etmek için gibi wc -c ExampleApp.ipa bir komut kullanmanız önerilir.

    MIME Type için content_type uygulamasını uygulamanıza göre ayarlayın:

    • Android .apk satıcı türünü kullanır application/vnd.android.package-archive
    • Android .aab satıcı türünü kullanır application/x-authorware-bin
    • iOS genel türü kullanır application/octet-stream

    Son komut şöyle görünmelidir:

    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 çıkış şöyle görünmelidir:

     {
         "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"
     }
    
  3. chunk_size Özelleştirilemeyen değeri kullanarak uygulamanızın karşıya yüklemesini Dağıt'a yüklemek üzere sıralı öbeklere bölebilirsiniz. Örneğin, yardımcı programını şu şekilde kullanabilirsiniz split :

    split -b $CHUNK_SIZE $RELEASE_FILE_LOCATION temp/split
    

    Bu komut , splitab, vb. adlı splitaadizinde temp sıralı dosyalar oluşturur. Her dosya sınır içinde chunk_size bölünür.

  4. Ardından, ilgili bloğu içeren bölünmüş uygulama paketinin her bir öbeklerini karşıya yüklemeniz gerekir:

    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"
    done
    
  5. Karşıya yükleme tamamlandıktan 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/$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_URL
    
  6. Karşıya yüklendikten sonra, karşıya yükleme tamamlandı olarak işaretlenmeden önce kısa bir gecikme olur. Sonraki adım için değerini almak $RELEASE_ID için bu durumu yoklama:

    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
    fi
    
  7. Son olarak derlemeyi serbest bırakın. Çağrılan uç nokta 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
    
Yayını Dağıt

App Center portalında sürümü görmek için karşıya yüklenen sürümü test edenlere, gruplara veya mağazalara dağıtın. Üç uç nokta şunlardır:

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.

Birden çok hedefe dağıtma isteğine burada daha karmaşık senaryolar için başvurabilirsiniz: PATCH /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}

Derleme Re-Release

Bir derlemeyi başka bir dağıtım grubuna yayınlamak için App Center'daki herhangi bir yerden Yayınları Dağıt'a > gidin ve yeniden dağıtmak istediğiniz sürümü seçin. Sürüm ayrıntıları sayfası açılır. Yeniden yayınlama işlemini başlatmak için ekranın sağ üst köşesindeki Dağıt düğmesini seçin ve hedefi seçin. Sürümü gruplara/test edicilere veya mağazaya göndermek için sihirbazdaki adımları izleyin ve son olarak 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 sürümü zorunlu hale getirin. Bunu yaptığınızda, App Center seçilen güncelleştirmeyi tüm test cihazına yükler.

Yalnızca uygulamanız App Center Distribute SDK'sını kullanıyorsa bir sürümü zorunlu hale getirebilirsiniz. Yayını dağıtma işleminin gözden geçirme aşamasında zorunlu güncelleştirme onay kutusunu seçerek yayını zorunlu hale getirin veya API'yi kullanabilirsiniz.

Zorunlu sürümleri App Center'da [Uygulamanız] > Grup > Sürümlerini Dağıt'a >açarak görüntüleyebilirsiniz. Zorunlu sürümler kırmızı noktayla gösterilir.

Başarılı bir şekilde yayımladıktan sonra test edenleriniz yayına e-postayla, App Center'da oturum açarak veya doğrudan bağlantı üzerinden erişebilir.

Özel hedeflerin yayın sayfasında belirli sürümlerin bağlantılarını bulabilirsiniz. Yükle düğmesi

Not

Android Uygulama Paketleri (AAB), indirme düğmesine tıklayarak yayın sayfasında indirilebilir. Yüklenebilir bir APK dosya biçimine ihtiyacınız varsa, lütfen cihazınızda yükleme portalını (https://install.appcenter.ms) kullanın. Bağlantıyı, oluşturulan QR kodunun altında indirme düğmesinin yanında bulabilirsiniz.

Genel gruplardaki yayınlar sekmesinde, genel hedeflere yönelik belirli yayınların bağlantılarını bulabilirsiniz. Genel derin bağlantı