Mulai menggunakan MAUI dan Xamarin

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.

App Center SDK menggunakan arsitektur modular sehingga Anda dapat menggunakan salah satu atau semua layanan.

Mari kita mulai menyiapkan App Center .NET SDK di aplikasi Anda untuk menggunakan App Center Analytics dan App Center Crash. Untuk menambahkan App Center Distribute ke aplikasi Anda, lihat dokumentasi untuk App Center Distribute.

1. Prasyarat

Sebelum memulai, pastikan prasyarat berikut terpenuhi:

  • Proyek Anda disiapkan di Visual Studio atau Visual Studio untuk Mac.
  • Anda menargetkan perangkat yang menjalankan iOS 11.0 atau yang lebih baru atau Android 5.0 (API level 21) atau yang lebih baru.
  • Anda tidak menggunakan SDK lain yang menyediakan fungsionalitas Pelaporan Crash.

Platform yang didukung:

  • MAUI iOS
  • MAUI Android
  • MAUI Windows
  • .NET 6.0 macOS
  • Xamarin.Android
  • Xamarin.iOS
  • Xamarin.Mac
  • Aplikasi Xamarin.Forms (iOS, macOS Android, UWP, dan Windows Desktop)

1.1 MAUI

Nota

Saat ini tidak ada platform MAUI di portal App Center. Silakan gunakan Xamarin untuk iOS dan Android dan UWP untuk Windows.

1.2 Tentang Xamarin.Android

Buat aplikasi di portal App Center dengan Android sebagai OS dan Xamarin sebagai platform.

1.3 Tentang Xamarin.iOS

Buat aplikasi di portal App Center dengan iOS sebagai OS dan Xamarin sebagai platform.

1.4 Tentang Xamarin.Mac

Buat aplikasi di portal App Center dengan macOS sebagai OS dan Xamarin sebagai platform.

Peringatan

Ada masalah yang diketahui yang mencegah aplikasi diunggah ke App Store. Ikuti kemajuan di github.

1.5 Tentang Xamarin.Forms (iOS, macOS, Android, UWP dan Windows Desktop)

Buat 5 aplikasi di App Center – satu untuk setiap OS.

Anda perlu memilih Xamarin sebagai platform untuk aplikasi Android, iOS, dan macOS (aplikasi UWP dan Desktop tidak memiliki opsi Xamarin).

Untuk aplikasi Windows Desktop dan macOS , Anda harus mengonfigurasi proyek untuk kompatibilitas dengan platform Xamarin.Forms .

2. Buat aplikasi Anda di Portal App Center untuk mendapatkan Rahasia Aplikasi

Jika Anda sudah membuat aplikasi di portal App Center, Anda dapat melewati langkah ini.

  1. Pergilah ke appcenter.ms.
  2. Daftar atau masuk dan tekan tombol biru di sudut kanan atas portal yang bertuliskan Tambahkan baru dan pilih Tambahkan aplikasi baru dari menu dropdown.
  3. Masukkan nama dan deskripsi opsional untuk aplikasi Anda.
  4. Pilih OS dan platform yang sesuai tergantung pada proyek Anda seperti yang dijelaskan di atas.
  5. Tekan tombol di kanan bawah yang bertuliskan Tambahkan aplikasi baru.

Setelah membuat aplikasi, Anda dapat memperoleh Rahasia Aplikasi di halaman Pengaturan di Portal App Center. Di sudut kanan atas halaman Pengaturan , klik titik vertikal tiga kali dan pilih Copy app secret untuk mendapatkan Rahasia Aplikasi Anda.

3. Tambahkan App Center SDK ke solusi Anda

App Center SDK dapat diintegrasikan menggunakan Visual Studio atau Package Manager Console.

Nota

App Center SDK menggunakan strong-named assemblies untuk kompatibilitas dengan aplikasi yang menggunakan strong-named sign.

Visual Studio untuk Mac

  • Buka Visual Studio.
  • KlikBuka> dan pilih solusi Anda.
  • Di navigator solusi, klik kanan bagian Paket , dan pilih Tambahkan paket NuGet....
  • Cari App Center, dan pilih App Center Analytics dan App Center Crash.
  • Klik Tambahkan Paket.

Visual Studio untuk Windows

  • Buka Visual Studio.
  • KlikBuka> dan pilih solusi Anda.
  • Di navigator solusi, klik kanan Referensi dan pilih Kelola Paket NuGet.
  • Cari App Center, dan instal paket Microsoft.AppCenter.Analytics dan Microsoft.AppCenter.Crashes .

Konsol Manajer Paket

  • Buka konsol di Visual Studio. Untuk melakukan ini, pilih Alat>NuGet Package Manager>Package Manager Console.
  • Jika Anda bekerja di Visual Studio untuk Mac, pastikan Anda telah menginstal Ekstensi Manajemen Paket NuGet. Untuk ini, pilihEkstensi>, cari NuGet dan instal, jika perlu.
  • Ketik perintah berikut di konsol:
Install-Package Microsoft.AppCenter.Analytics
Install-Package Microsoft.AppCenter.Crashes

Sekarang setelah Anda mengintegrasikan SDK di aplikasi Anda, saatnya untuk memulai SDK dan menggunakan layanan App Center.

Nota

Jika Anda menggunakan App Center SDK dalam proyek portabel (seperti Xamarin.Forms), Anda harus menginstal paket di setiap proyek: yang portabel, Android, dan iOS. Untuk melakukannya, Anda harus membuka setiap sub-proyek dan mengikuti langkah-langkah terkait yang dijelaskan di bagian Visual Studio untuk Mac atau Visual Studio untuk Windows .

4. Mulai SDK

Untuk menggunakan App Center, Anda harus ikut serta dalam modul yang ingin Anda gunakan. Secara default, tidak ada modul yang dimulai dan Anda harus secara eksplisit memanggil masing-masing modul saat memulai SDK.

4.1 Menambahkan pernyataan penggunaan

Tambahkan namespace yang sesuai dalam file berikut:

  • MAUI dan Xamarin.Forms - App.xaml.cs
  • Xamarin.iOS dan Xamarin.Mac - AppDelegate.cs
  • Xamarin.Android - MainActivity.cs
using Microsoft.AppCenter;
using Microsoft.AppCenter.Analytics;
using Microsoft.AppCenter.Crashes;

4.2 Tambahkan Start() metode

4.2.1 MAUI dan Xamarin.Forms

Anda perlu membuat aplikasi yang berbeda untuk setiap platform di portal App Center. Untuk setiap aplikasi, Anda akan memiliki rahasia aplikasi yang berbeda. Buka file App.xaml.cs proyek dan tambahkan baris berikut di konstruktor (atau dalam OnStart() metode untuk Xamarin.Forms).

AppCenter.Start("ios={Your App Secret};macos={Your App Secret};android={Your App Secret};uwp={Your App Secret};windowsdesktop={Your App Secret}", typeof(Analytics), typeof(Crashes));

Jika Anda perlu memulai layanan App Center secara terpisah, Anda harus:

  1. Konfigurasikan atau mulai dengan Kode Rahasia Aplikasi.
  2. Jika kode dapat dipanggil beberapa kali, periksa apakah App Center sudah dikonfigurasi.
  3. Mulai layanan yang diperlukan tanpa Rahasia Aplikasi.
AppCenter.Configure("ios={Your App Secret};macos={Your App Secret};android={Your App Secret};uwp={Your App Secret};windowsdesktop={Your App Secret}");
if (AppCenter.Configured)
{
    AppCenter.Start(typeof(Analytics));
    AppCenter.Start(typeof(Crashes));
}

4.2.2 Xamarin.Android

Nota

Jika Anda menggunakan HockeyApp SDK untuk Android, pastikan untuk menginisialisasi HockeyApp SDK SETELAH App Center SDK.

Buka file MainActivity.cs dari proyek dan tambahkan panggilan Start() di dalam metod OnCreate().

AppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes));

Nota

Jika aplikasi Anda memiliki layanan latar belakang atau beberapa titik masuk seperti penerima siaran, aktivitas yang diekspor, atau penyedia konten, disarankan untuk memulai AppCenter pada panggilan balik Application.OnCreate sebagai gantinya.

4.2.3 Xamarin.iOS dan Xamarin.Mac

Nota

Tidak dimungkinkan untuk memiliki lebih dari satu SDK pelaporan crash aktif di aplikasi Anda. Nonaktifkan fungsionalitas pelaporan crash dari SDK lain untuk memastikan App Center dapat menangkap crash.

Buka file proyek AppDelegate.cs dan tambahkan panggilan Start() di dalam metode FinishedLaunching()

AppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes));

Nota

Jika menggunakan Crashes, Anda harus memanggil metode ini di UI/thread utama dan menghindari memulai tugas latar belakang hingga metode Start mengembalikan nilai. Alasannya adalah bahwa setiap pengecualian referensi null yang ditangkap dari utas lain saat Crash sedang menginisialisasi dapat memicu crash asli dan mengabaikan klausa tangkapan. Setelah metode AppCenter.Start mengembalikan nilai, aman untuk mencoba menangkap pengecualian referensi null lagi. Anda dapat membaca lebih lanjut tentang penyebab masalah penjadwalan ini di artikel Signals dan reporter crash pihak ketiga.

Peringatan

Tidak disarankan untuk menyematkan Rahasia Aplikasi Anda dalam kode sumber.

Penting

Kurung kurawal menunjukkan tempat untuk menempatkan rahasia aplikasi yang sesungguhnya, jangan letakkan kurung kurawal pada panggilan Start.

Nota

Untuk aplikasi iOS, tidak dimungkinkan untuk memiliki lebih dari satu SDK pelaporan crash aktif di aplikasi Anda. Nonaktifkan fungsionalitas pelaporan crash dari SDK lain untuk memastikan App Center dapat menangkap crash.

4.3 Ganti variabel dengan rahasia aplikasi Anda

Pastikan untuk mengganti {Your App Secret} teks dengan nilai aktual untuk aplikasi Anda. Rahasia Aplikasi dapat ditemukan di halaman Memulai atau halaman Pengaturan di portal App Center.

Halaman Memulai berisi sampel kode di atas dengan Rahasia Aplikasi Anda di dalamnya, Anda dapat menyalin-tempel seluruh sampel.

Contoh di atas menunjukkan cara menggunakan metode Start() serta menyertakan App Center Analytics dan App Center Crashes.

Jika Anda tidak ingin menggunakan salah satu dari dua layanan, hapus parameter yang sesuai dari panggilan metode di atas.

Kecuali Anda secara eksplisit menentukan setiap modul sebagai parameter dalam metode mulai, Anda tidak dapat menggunakan layanan App Center tersebut. Selain itu, Start() API hanya dapat digunakan sekali dalam siklus hidup aplikasi Anda - semua panggilan lain akan mencatat peringatan ke konsol dan hanya modul yang disertakan dalam panggilan pertama yang akan tersedia.

Misalnya - Jika Anda ingin onboarding ke App Center Analytics, Anda harus memodifikasi Start() panggilan sebagai berikut:

4.3.1 MAUI dan Xamarin.Forms

AppCenter.Start("ios={Your App Secret};macos={Your App Secret};android={Your App Secret};uwp={Your App Secret};windowsdesktop={Your App Secret}", typeof(Analytics));

4.3.2 Xamarin Native

AppCenter.Start("{Your App Secret}", typeof(Analytics));

Bagus, kamu semua siap untuk memvisualisasikan data Analitik dan Crash pada portal yang dikumpulkan SDK secara otomatis.

Lihat dokumentasi untuk App Center Analytics dan App Center Crash untuk mempelajari cara menyesuaikan dan menggunakan fungsionalitas yang lebih canggih dari kedua layanan.

Untuk mempelajari cara memulai pembaruan aplikasi, baca dokumentasi App Center Distribute.

Nota

Dengan menggunakan API portabel dari Xamarin Forms, Anda akan melihat API dari semua modul, namun tidak semua API tersebut didukung pada platform UWP dan Windows Desktop dan tidak melakukan apa pun saat berjalan di aplikasi UWP dan Windows Desktop Anda. Khususnya UWP dan Windows Desktop tidak mendukung modul berikut: Distribusikan. Metode apa pun dengan jenis pengembalian akan mengembalikan baik null (untuk objek), 0 (untuk angka), atau false (untuk boolean) pada aplikasi UWP dan Windows Desktop.

5. Aturan pencadangan (khusus Android)

Nota

Aplikasi yang menargetkan Android 6.0 (API level 23) atau yang lebih tinggi mengaktifkan Pencadangan Otomatis secara otomatis. 

Nota

Jika Anda sudah memiliki file kustom dengan aturan cadangan, beralihlah ke langkah ketiga.

Jika Anda menggunakan pencadangan otomatis untuk menghindari mendapatkan informasi yang salah tentang perangkat, ikuti langkah-langkah berikutnya:

5.1. Untuk Android 11 (API level 30) atau yang lebih rendah.

  1. Buat file appcenter_backup_rule.xml di folder Sumber Daya/xml .
  1. Buka file AndroidManifest.xml dari proyek. android:fullBackupContent Tambahkan atribut ke <application> elemen . Ini harus menunjuk ke file sumber daya appcenter_backup_rule.xml .
android:fullBackupContent="@xml/appcenter_backup_rule"
  1. Tambahkan aturan cadangan berikut ke file appcenter_backup_rule.xml :
<full-backup-content xmlns:tools="http://schemas.android.com/tools">
      <exclude domain="sharedpref" path="AppCenter.xml"/>
      <exclude domain="database" path="com.microsoft.appcenter.persistence"/>
      <exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
      <exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
      <exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
  </full-backup-content>

5.2. Untuk Android 12 (API level 31) atau yang lebih tinggi.

  1. Buat file appcenter_backup_rule.xml di folder Sumber Daya/xml .
  1. Buka file AndroidManifest.xml dari proyek. android:dataExtractionRules Tambahkan atribut ke <application> elemen . Ini harus menunjuk ke file sumber daya appcenter_backup_rule.xml .
android:dataExtractionRules="@xml/appcenter_backup_rule"
  1. Tambahkan aturan cadangan berikut ke file appcenter_backup_rule.xml :
<data-extraction-rules xmlns:tools="http://schemas.android.com/tools">
    <cloud-backup>
        <exclude domain="sharedpref" path="AppCenter.xml"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
        <exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
        <exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
    </cloud-backup>
    <device-transfer>
        <exclude domain="sharedpref" path="AppCenter.xml"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
        <exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
        <exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
    </device-transfer>
</data-extraction-rules>