Aracılığıyla paylaş


Yapı Yayımlama

Önemli

Visual Studio App Center, 30 Haziran 2026'ya kadar desteklenmeye devam edecek Analiz ve Tanılama özellikleri dışında 31 Mart 2025'te kullanımdan kaldırılmıştır. 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 oluşturmayı ve portalı, komut satırı arabirimini (CLI) ve uygulama programlama arabirimini (API) kullanarak gruplara yüklemeyi ve yayımlamayı öğ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şturabilirsiniz.

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.

Uyarı

Arşivi (.zip, .ipa ve diğerleri) yükleyecekseniz, uygulamanızın toplam sıkıştırılmamış 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ı oluşturmak için sihirbazdaki adımları izleyin.

Android Studio, yerleşik uygulama paketlerini proje adı/modül adı/derleme/çıkış/paket/ ve APK'leri proje adı/modül adı/derleme/çıkış/apk/ içine yerleştirir.

Uyarı

Android Uygulama Paketini (AAB) dağıttığınızda App Center evrensel bir APK oluşturur, oluşturulan bir 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ünArşivi'ne> giderek uygulamanızı arşivlersiniz.
  3. Uygun sağlama profilini kullanarak arşivi dışarı aktarın.

macOS

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ıza tek bir cihazkaydedin veya birden çok cihaz kaydedin.
  2. Xcode'da ÜrünArşivi'ne> giderek uygulamanızı arşivlersiniz.
  3. Uygun sağlama profilini kullanarak arşivi dışarı aktarın.

Windows

App Center, .appx, .appxbundle, .appxupload, .msi, .msix, .msixbundle, .msixupload veya .zip türünde Windows uygulama paketlerinin yayınını destekler. Uygulamanızı AppX veya MSIX biçimlerinde paketleme hakkında ayrıntılı bilgi 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

Uyarı

İndirmek üzere dosya içeren tüm install.appcenter.ms URL'lere genel erişim sağlanır.

Bir paketi App Center ile dağıtmak için App Center'a gidin, uygulamanıza gidin, ardındanGrupları> 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çili 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 edenlerinizin 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 getirecek şekilde 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 göndermek 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.

appcenter distribute release komutu kullanarak yayınınızı dağıtın. Aşağıdaki örnek komut, ~/releases/my_app-23.ipa tarafından sahip olunan Beta testers uygulamasının My-App grubuna David adlı dosyayı 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üklemek ve dağıtmak için Uygulama paketi.
  • API belirteci alın. 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 yine de yükleme tamamlanır)
  • Dağıtım yapmak istediğiniz uygulama için {owner_name} ve {app_name}'i belirleyin. Bu tanımlayıcılar API çağrıları için URL'de kullanılır. Bir kullanıcının sahip olduğu bir uygulama için App Center'daki URL şöyle görünebilir: https://appcenter.ms/users/Example-User/apps/Example-App. Burada, {owner_name}Example-User ve {app_name}Example-App. Kuruluşa ait bir uygulama için, URL'si https://appcenter.ms/orgs/Example-Org/apps/Example-App olabilir ve {owner_name}Example-Org olacaktır.
Yeni Sürümü 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 yüklemesi 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, {VARIABLE_NAME} her kullanım için benzersiz olan verileri değiştirerek şuna 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. Önceki adımda verilen yanıttan parametreleri kopyalayın; bunların çoğu , ve package_asset_iddahil olmak üzere upload_domainurl_encoded_token sonraki adımda kullanılır.

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

    MIME Type ayarlarını content_type uygulamanıza göre belirleyin:

    • 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 şuna benzer olmalıdı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.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ış şuna benzer olmalıdı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"
     }
    
  3. Özelleştirilemeyen chunk_size değerini kullanarak, uygulamanızın karşıya yüklemesini Distribute'a yüklemek için 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, temp dizininde splitaa, splitab ve benzeri adlı sıralı dosyalar oluşturur. Her dosya chunk_size sınırı içinde bölünür.

  4. Sonra, parçalanmış uygulama paketinin her bir parçasını ilgili blokla yüklemeniz gerekiyor.

    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 uploadFinished olarak gü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. Dosya yüklendikten sonra, yükleme bitmiş olarak işaretlenmeden önce kısa bir gecikme olur. Bu durumu sorgulayarak sonraki adım için $RELEASE_ID değerini alın.

    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 yayınlayın. Çağrılacak 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
    
Sürümü 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}

Bir yapı 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. 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. Sihirbazın adımlarını izleyin ve son olarak Dağıt'ı seçerek yayını gruplara/test edicilere veya mağazaya gönderin.

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ğıtmanın 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] > Dağıt > Gruplar > Yayınları açarak görüntüleyebilirsiniz. Zorunlu sürümler kırmızı bir noktayla gösterilir.

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

Özel hedefler için yayın sayfasında, belirli sürümlerin bağlantılarını bulabilirsiniz. Yükle düğmesi

Uyarı

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ızdaki 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ı