Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penting
Visual Studio App Center dihentikan pada 31 Maret 2025, kecuali untuk fitur Analitik dan Diagnostik, yang akan terus didukung hingga 30 Juni 2026. Pelajari lebih lanjut.
Unggah paket biner aplikasi Anda ke App Center untuk mendistribusikannya. App Center mendukung distribusi paket untuk android, iOS, macOS, Windows, dan aplikasi sistem operasi kustom. Anda dapat mendistribusikan rilis ke masing-masing penguji atau grup penguji. Untuk aplikasi iOS dan Android, Anda juga dapat merilis ke toko seperti Google Play, App Store, dan Intune. Lihat Menerbitkan ke toko konsumen dan perusahaan.
Di halaman ini Anda dapat mempelajari cara membuat biner untuk rilis, dan cara mengunggah dan merilisnya ke grup menggunakan portal, antarmuka baris perintah (CLI), dan antarmuka pemrograman aplikasi (API).
Anda juga dapat menggunakan Azure DevOps atau Jenkins:
- Azure DevOps menggunakan Tugas Distribusi App Center (versi 3+)
- Plugin Jenkins (versi 0.11.0+).
Membuat paket biner aplikasi
Pertama, Anda harus mengemas aplikasi Anda ke dalam file biner untuk rilis. Anda dapat membuat file ini secara manual.
Bagian berikut menjelaskan cara membuat file untuk semua jenis aplikasi yang didukung App Center untuk distribusi.
Nota
Jika Anda akan mengunggah arsip (.zip, .ipa dan lainnya) maka ukuran aplikasi Anda yang tidak dikompresi harus kurang dari 4GB.
Android
Untuk Android, Anda harus membuat file app bundle atau APK yang ditandatangani. Untuk detail lengkap proses ini, lihat dokumentasi Resmi Google tentang menyiapkan aplikasi untuk rilis.
- Pastikan Anda telah memperbarui manifes dan mengonfigurasi build Gradle dengan benar.
- Di Android Studio, pilih Buat>Buat Bundel / APK yang Ditandatangani dan ikuti langkah-langkah dalam wizard untuk membuat bundel aplikasi atau APK.
Android Studio menempatkan bundel aplikasi yang sudah dibangun dalam project-name/module-name/build/outputs/bundle/ dan APK dalam project-name/module-name/build/outputs/apk/.
Nota
Saat Anda mendistribusikan Android Application Bundle (AAB), App Center menghasilkan APK universal, menandatanganinya dengan kunci penandatanganan yang dihasilkan, dan mendistribusikannya ke perangkat.
Ios
Untuk iOS, Anda harus menghasilkan paket IPA untuk aplikasi Anda. Untuk detail lengkap proses ini, lihat dokumentasi resmi Apple.
- Daftarkan UDID untuk semua perangkat keras di profil provisi Anda.
- Di Xcode, bukaArsip> untuk mengarsipkan aplikasi Anda.
- Ekspor berkas menggunakan profil pengaturan yang tepat.
macOS
Untuk macOS, Anda harus menghasilkan paket aplikasi. App Center mendukung merilis paket aplikasi jenis .app.zip, .pkg, atau .dmg. Untuk detail lengkap proses ini, lihat dokumentasi resmi Apple macOS.
- Daftarkan satu perangkat atau daftarkan beberapa perangkat di akun pengembang Apple Anda.
- Di Xcode, bukaArsip> untuk mengarsipkan aplikasi Anda.
- Ekspor berkas menggunakan profil pengaturan yang tepat.
Windows
App Center mendukung merilis paket aplikasi Windows jenis .appx, , .appxbundle, .appxupload, .msi, .msix, .msixbundle, .msixupload, atau .zip. Untuk detail selengkapnya tentang cara mengemas aplikasi Anda dalam format AppX atau MSIX, lihat dokumentasi resmi Microsoft UWP.
Sistem operasi kustom
Arsipkan build Anda untuk aplikasi dengan sistem operasi kustom dalam format .zip.
Mendistribusikan paket
Nota
Semua URL install.appcenter.ms yang berisi file untuk diunduh dapat diakses secara publik.
Untuk mendistribusikan paket dengan App Center, buka App Center, buka aplikasi Anda, lalu buka Distribusikan> Grup dan pilih Rilis baru. Ikuti langkah-langkah dalam panduan.
Pada langkah pertama, pilih area Rilis untuk menelusuri file yang ingin Anda unggah, atau seret dan letakkan file ke area. Bergantung pada sistem operasi aplikasi Anda dan ekstensi file, App Center dapat meminta Anda untuk memasukkan versi dan nomor build untuk rilis Anda. Masukkan informasi dan pilih Berikutnya.
Anda dapat menyertakan catatan rilis sebagai bagian dari rilis Anda, baik dalam format teks biasa atau Markdown. Pilih Berikutnya.
Anda dapat menargetkan rilis Anda di beberapa grup distribusi atau penguji. App Center membuat rilis ini tersedia untuk penguji tersebut dan pengguna yang merupakan bagian dari grup yang dipilih. Pilih Berikutnya.
Saat merilis aplikasi iOS, Anda dapat memprovisikan perangkat penguji secara otomatis. Pilih Berikutnya.
Tinjau rilis. Jika aplikasi Anda menggunakan Distribute SDK, Maka Anda dapat mengonfigurasi App Center untuk membuat rilis wajib. Saat App Center mendistribusikan rilis, App Center mengirimkan pemberitahuan email tentang versi baru kepada semua penguji yang telah ditentukan dalam tujuan. Anda dapat memilih untuk tidak memberi tahu penguji di tab tinjauan. Terakhir, pilih Distribusikan untuk merilis file ke penguji Anda.
Mendistribusikan menggunakan antarmuka baris perintah App Center
Peringatan
Anda memerlukan App Center CLI 2.7 atau yang lebih baru untuk menggunakan fitur ini.
Distribusikan rilis Anda menggunakan appcenter distribute release perintah di App Center CLI. Contoh perintah berikut mendistribusikan file yang dipanggil ~/releases/my_app-23.ipa ke grup Beta testers aplikasi My-App yang dimiliki oleh David.
appcenter distribute release --app David/My-App --file ~/releases/my_app-23.ipa --group "Beta testers"
Mendistribusikan menggunakan API
Anda dapat memanggil API App Center untuk mendistribusikan rilis. Pendekatan di bawah ini dimaksudkan untuk menggambarkan pendekatan kerja minimal, banyak tugas dapat disesuaikan lebih lanjut atau otomatis.
Implementasi sampel dapat dilihat di sini: https://github.com/microsoft/appcenter-Xamarin.UITest-Demo/blob/main/ac-distribute.sh
Prasyarat
- Paket Aplikasi untuk diunggah dan didistribusikan.
- Dapatkan token API. Token API digunakan untuk autentikasi untuk semua panggilan API App Center.
- Nama Grup Distribusi (opsional, jika hilang atau tidak valid, unggahan masih akan selesai)
- Identifikasi
{owner_name}dan{app_name}untuk aplikasi yang ingin Anda distribusikan untuk rilis. Pengidentifikasi ini digunakan dalam URL untuk panggilan API. Untuk aplikasi yang dimiliki oleh pengguna, URL di App Center mungkin terlihat seperti: https://appcenter.ms/users/Example-User/apps/Example-App. Di sini,{owner_name}adalahExample-Userdan{app_name}adalahExample-App. Untuk aplikasi yang dimiliki oleh org, URL mungkin https://appcenter.ms/orgs/Example-Org/apps/Example-App dan{owner_name}akan menjadiExample-Org.
Unggah Rilis Baru
Unggah rilis baru menggunakan panggilan API berurutan ini:
Membuat unggahan rilis baru: Titik akhir yang akan dipanggil adalah 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"Respons akan terlihat seperti ini, dengan
{VARIABLE_NAME}mengganti data yang unik untuk setiap penggunaan:{ "id": "{ID}", "package_asset_id": "{PACKAGE_ASSET_ID}", "upload_domain": "https://file-aks.appcenter.ms", "token": "{TOKEN}", "url_encoded_token": "{URL_ENCODED_TOKEN}" }Salin parameter dari respons di langkah sebelumnya, karena sebagian besar digunakan pada langkah berikutnya, termasuk
package_asset_id,upload_domain& .url_encoded_tokenTentukan ukuran paket aplikasi Anda dalam byte. Disarankan untuk menggunakan perintah seperti
wc -c ExampleApp.ipauntuk mendapatkan jumlah byte yang akurat.Atur
MIME Typeuntukcontent_typeberdasarkan aplikasi Anda.-
Android .apk menggunakan jenis vendor
application/vnd.android.package-archive -
Android .aab menggunakan jenis vendor
application/x-authorware-bin -
iOS menggunakan jenis umum
application/octet-stream
Perintah akhir akan terlihat seperti ini:
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"Output yang dikembalikan akan terlihat seperti ini:
{ "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 menggunakan jenis vendor
chunk_sizeDengan menggunakan nilai yang tidak dapat dikustomisasi, Anda dapat membagi unggahan aplikasi menjadi potongan berurutan untuk diunggah ke Distribusi. Misalnya, Anda dapat menggunakansplitutilitas seperti:split -b $CHUNK_SIZE $RELEASE_FILE_LOCATION temp/splitPerintah ini menghasilkan file berurutan di
tempdirektori bernamasplitaa, ,splitabdan sebagainya. Setiap file dibagi sesuai dengan bataschunk_size.Selanjutnya Anda perlu mengunggah setiap potongan paket aplikasi terpisah dengan blok masing-masing:
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" doneSetelah unggahan selesai, perbarui status unggahan sumber daya ke
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_URLSetelah diunggah, ada penundaan singkat sebelum unggahan ditandai sebagai selesai. Pantau status ini untuk memperoleh
$RELEASE_IDuntuk langkah berikutnya: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 fiTerakhir, rilis hasil build. Titik akhir yang akan dipanggil adalah 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
Distribusikan Rilis
Distribusikan rilis yang diunggah ke penguji, grup, atau penyimpanan untuk melihat rilis di portal App Center. Tiga titik akhir tersebut adalah:
- 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
Contoh untuk grup:
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}"
Anda dapat menemukan ID grup distribusi di halaman pengaturan grup tersebut.
Permintaan untuk mendistribusikan ke beberapa tujuan direferensikan di sini untuk skenario yang lebih kompleks: PATCH /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}
Re-Release versi
Untuk merilis build ke grup distribusi lain, dari tempat mana pun di App Center buka Distribusikan > Rilis lalu pilih rilis yang ingin Anda distribusikan lagi. Halaman detail rilis terbuka. Pilih tombol Distribusikan di sudut kanan atas layar dan pilih tujuan untuk memulai proses rilis ulang. Ikuti langkah-langkah dalam wizard dan akhirnya pilih Distribusikan untuk mengirim rilis ke grup/penguji atau penyimpanan.
Pembaruan Wajib
Buat rilis wajib untuk memaksa semua pengguna menjalankan versi aplikasi yang sama. Saat Anda melakukan ini, App Center akan menginstal pembaruan yang dipilih di semua perangkat penguji.
Anda hanya dapat membuat rilis wajib jika aplikasi Anda menggunakan App Center Distribute SDK. Buat rilis wajib dengan memilih kotak centang Pembaruan wajib dalam tahap peninjauan mendistribusikan rilis, atau Anda dapat menggunakan API.
Anda dapat melihat rilis wajib di App Center dengan membuka Rilis > Grup Distribusi > [Aplikasi > Anda]. Rilis wajib ditandai dengan titik merah.
Tautan ke Rilisan
Setelah berhasil dirilis, penguji Anda dapat mengakses rilis melalui email, masuk ke App Center, atau melalui tautan langsung.
Anda dapat menemukan tautan ke rilis tertentu di halaman rilis untuk tujuan privat.
Nota
Android Application Bundles (AAB) tersedia untuk diunduh di halaman rilis dengan mengklik tombol unduh. Jika Anda memerlukan format file APK yang dapat diinstal, silakan gunakan portal penginstalan (https://install.appcenter.ms) di perangkat Anda. Anda dapat menemukan tautan di bawah kode QR yang dihasilkan di samping tombol unduh.
Anda dapat menemukan tautan ke rilis tertentu ke tujuan publik pada tab rilis di grup publik.