Share via


MAUI ve Xamarin ile Çalışmaya Başlama

Ö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.

App Center SDK'sı modüler bir mimari kullanarak hizmetlerin herhangi birini veya tümünü kullanabilirsiniz.

App Center Analytics ve App Center Kilitlenmelerini kullanmak için uygulamanızda App Center .NET SDK'sını ayarlamaya başlayalım. Uygulamanıza App Center Distribute eklemek için App Center Distribute belgelerine göz atın.

1. Önkoşullar

Başlamadan önce aşağıdaki önkoşulların karşılandığından emin olun:

  • Projeniz Visual Studio veya Mac için Visual Studio'da ayarlanır.
  • iOS 11.0 veya üzeri ya da Android 5.0 (API düzeyi 21) veya üzerini çalıştıran cihazları hedefliyorsunuz.
  • Kilitlenme Raporlama işlevselliği sağlayan başka bir SDK kullanmıyorsunuz.

Desteklenen platformlar:

  • MAUI iOS
  • MAUI Android
  • MAUI Windows
  • .NET 6.0 macOS
  • Xamarin.Android
  • Xamarin.iOS
  • Xamarin.Mac
  • Xamarin.Forms (iOS, macOS Android, UWP ve Windows Masaüstü uygulamaları)

1.1 MAUI

Not

Şu anda App Center portalında MAUI platformu yoktur. Lütfen iOS ve Android için Xamarin ve Windows için UWP kullanın.

1.2 Xamarin.Android Hakkında

App Center portalında android işletim sistemi ve Xamarinplatform olarak bir uygulama oluşturun.

1.3 Xamarin.iOS Hakkında

App Center portalında işletim sistemi olarak iOS ve platform olarak Xamarin ile bir uygulama oluşturun.

1.4 Xamarin.Mac Hakkında

App Center portalında işletim sistemi olarak macOS ve platform olarak Xamarin içeren bir uygulama oluşturun.

Uyarı

Bir uygulamanın App Store yüklenmesini engelleyen bilinen bir sorun vardır. Github'da ilerleme durumunu izleyin.

1.5 Xamarin.Forms Hakkında (iOS, macOS, Android, UWP ve Windows Masaüstü)

App Center'da her işletim sistemi için bir tane olacak şekilde 5 uygulama oluşturun.

Android, iOS ve macOS uygulamalarının platformu olarak Xamarin'i seçmeniz gerekir (UWP ve Masaüstü uygulamalarının Xamarin seçeneği yoktur).

Windows Masaüstü ve macOS uygulamaları için projenizi Xamarin.Forms platformuyla uyumluluk için yapılandırmanız gerekir.

2. Uygulama Gizli Dizisini almak için uygulamanızı App Center Portalı'nda oluşturun

Uygulamanızı App Center portalında zaten oluşturduysanız bu adımı atlayabilirsiniz.

  1. appcenter.ms'a gidin.
  2. Kaydolun veya oturum açın ve portalın sağ üst köşesindeki Yeni ekle yazan mavi düğmeye basın ve açılan menüden Yeni uygulama ekle'yi seçin.
  3. Uygulamanız için bir ad ve isteğe bağlı bir açıklama girin.
  4. Yukarıda açıklandığı gibi projenize bağlı olarak uygun işletim sistemini ve platformu seçin.
  5. Sağ alttaki Yeni uygulama ekle yazan düğmeye basın.

Bir uygulama oluşturduktan sonra Uygulama Gizli Dizisi'ni App Center Portalı'nın Ayarlar sayfasından edinebilirsiniz. Ayarlar sayfasının sağ üst köşesindeki üç dikey noktaya tıklayın ve Uygulama Gizli Dizinizi almak için öğesini seçinCopy app secret.

3. App Center SDK'sını çözümünüze ekleme

App Center SDK'sı Visual Studio veya Paket Yöneticisi Konsolu kullanılarak tümleştirilebilir.

Not

App Center SDK'sı, tanımlayıcı adlı işareti kullanan uygulamalarla uyumluluk için tanımlayıcı adlandırılmış derlemeler kullanır.

Mac için Visual Studio

  • Visual Studio'yu açın.
  • Dosya>Aç'a tıklayın ve çözümünüzü seçin.
  • Çözüm gezgininde Paketler bölümüne sağ tıklayın ve NuGet paketleri ekle...'yi seçin.
  • App Center'ı arayın ve App Center Analytics ve App Center Kilitlenmeleri'ne tıklayın.
  • Paket Ekle'ye tıklayın.

Windows için Visual Studio

  • Visual Studio'yu açın.
  • Dosya>Aç'a tıklayın ve çözümünüzü seçin.
  • Çözüm gezgininde Başvurular'a sağ tıklayın ve NuGet Paketlerini Yönet'i seçin.
  • App Center'ı arayın ve Microsoft.AppCenter.Analytics ve Microsoft.AppCenter.Crashes paketlerini yükleyin.

Paket Yöneticisi Konsolu

  • Visual Studio'da konsolunu açın. Bunu yapmak için Araçlar>NuGet Paket Yöneticisi Paket Yöneticisi>Konsolu'nu seçin.
  • Mac için Visual Studio üzerinde çalışıyorsanız NuGet Paket Yönetimi Uzantıları'nı yüklediğinizden emin olun. Bunun için Visual Studio>Uzantıları'nı seçin, NuGet araması yapın ve gerekirse yükleyin.
  • Konsola aşağıdaki komutu yazın:
Install-Package Microsoft.AppCenter.Analytics
Install-Package Microsoft.AppCenter.Crashes

SDK'yı uygulamanıza tümleştirdiğinize göre artık SDK'yı başlatmanın ve App Center hizmetlerinden yararlanmanın zamanı geldi.

Not

App Center SDK'sını taşınabilir bir projede ( Xamarin.Forms gibi) kullanıyorsanız paketleri projelerin her birine yüklemeniz gerekir: taşınabilir, Android ve iOS olanlar. Bunu yapmak için her alt projeyi açmanız ve Mac için Visual Studio veya Windows için Visual Studio bölümlerinde açıklanan ilgili adımları izlemeniz gerekir.

4. SDK'yi başlatın

App Center'ı kullanmak için kullanmak istediğiniz modülleri kabul etmeniz gerekir. Varsayılan olarak, hiçbir modül başlatılmaz ve SDK'yı başlatırken bunların her birini açıkça çağırmanız gerekir.

4.1 using deyimlerini ekleme

Aşağıdaki dosyalara uygun ad alanlarını ekleyin:

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

4.2 Yöntemini ekleme Start()

4.2.1 MAUI ve Xamarin.Forms

App Center portalında her platform için farklı uygulamalar oluşturmanız gerekir. Her uygulama için farklı bir uygulama gizli dizisine sahip olursunuz. Projenin App.xaml.cs dosyasını açın ve oluşturucuya (veya Xamarin.Forms yöntemine OnStart() ) aşağıdaki satırı ekleyin.

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));

App Center hizmetlerini ayrı olarak başlatmanız gerekiyorsa şunları yapmalısınız:

  1. Uygulama Gizli Dizisi ile yapılandırın veya başlatın.
  2. Kod birden çok kez çağrılabiliyorsa App Center'ın zaten yapılandırılmış olup olmadığını denetleyin.
  3. Uygulama Gizli Anahtarı olmadan gerekli hizmetleri başlatın.
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

Not

Android için HockeyApp SDK'sını kullanıyorsanız App Center SDK'sı sonrasında HockeyApp SDK'sını başlatmayı unutmayın.

Projenin MainActivity.cs dosyasını açın ve çağrıyı Start() yönteminin OnCreate() içine ekleyin

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

Not

Uygulamanızın arka plan hizmetleri veya yayın alıcısı, dışarı aktarılan etkinlikler veya içerik sağlayıcıları gibi birden çok giriş noktası varsa, bunun yerine geri aramayla Application.OnCreate başlamanız AppCenter önerilir.

4.2.3 Xamarin.iOS ve Xamarin.Mac

Not

Uygulamanızda birden fazla etkin kilitlenme raporlama SDK'sı olması mümkün değildir. App Center'ın kilitlenmeleri yakalamasını sağlamak için diğer SDK'ların kilitlenme raporlama işlevini devre dışı bırakın.

Projenin AppDelegate.cs dosyasını açın ve yönteminin Start() içine çağrıyı FinishedLaunching() ekleyin

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

Not

Kilitlenmeler kullanıyorsanız, ui/main iş parçacığında bu yöntemi çağırmanız ve yöntem dönene kadar Start arka plan görevlerini başlatmaktan kaçınmanız gerekir. Bunun nedeni, Kilitlenmeler başlatılırken başka bir iş parçacığından yakalanan herhangi bir null başvuru özel durumunun yerel bir kilitlenmeyi tetikleyebileceği ve catch yan tümcesini yoksayabileceğidir. Yöntem döndürdüğünde AppCenter.Start null başvuru özel durumlarını yeniden denemek/yakalamak güvenlidir. Sinyaller ve üçüncü taraf kilitlenme muhabirleri makalesinde bu zamanlama sorununun nedeni hakkında daha fazla bilgi edinebilirsiniz.

Uyarı

Uygulama Gizli Dizinizi kaynak koduna eklemek önerilmez.

Önemli

Küme ayraçları gerçek uygulama gizli dizilerinin nereye yerleştirileceği gösterilir; çağrıya küme ayracı koymayın Start .

Not

Bir iOS uygulaması için, uygulamanızda birden fazla etkin kilitlenme raporlama SDK'sı olması mümkün değildir. App Center'ın kilitlenmeleri yakalamasını sağlamak için diğer SDK'ların kilitlenme raporlama işlevini devre dışı bırakın.

4.3 Yer tutucuyu Uygulama Gizli Dizinizle değiştirin

Metni uygulamanızın gerçek değeriyle değiştirdiğinden {Your App Secret} emin olun. Uygulama Gizli Dizisi, App Center portalındaki Başlarken sayfasında veya Ayarlar sayfasında bulunabilir.

Başlarken sayfası, uygulama gizli dizinizin bulunduğu yukarıdaki kod örneğini içerir; örneğin tamamını kopyalayıp yapıştırabilirsiniz.

Yukarıdaki örnekte yönteminin Start() nasıl kullanılacağı ve hem App Center Analytics hem de App Center Kilitlenmeleri'nin nasıl dahil olduğu gösterilmektedir.

İki hizmetten birini kullanmak istemiyorsanız yukarıdaki yöntem çağrısından ilgili parametreyi kaldırın.

Başlangıç yönteminde her modülü parametre olarak açıkça belirtmediğiniz sürece, bu App Center hizmetini kullanamazsınız. Buna ek olarak, API uygulamanızın Start() yaşam döngüsünde yalnızca bir kez kullanılabilir; diğer tüm çağrılar konsola bir uyarı kaydeder ve yalnızca ilk çağrıya dahil edilen modüller kullanılabilir.

Örneğin - App Center Analytics'e eklemek istiyorsanız, aramayı aşağıdaki gibi değiştirmeniz Start() gerekir:

4.3.1 MAUI ve 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));

Harika, SDK'nın otomatik olarak topladığı portalda Analytics ve Crashes verilerini görselleştirmeye hazırsınız.

Her iki hizmetin de daha gelişmiş işlevlerini özelleştirmeyi ve kullanmayı öğrenmek için App Center Analytics ve App Center Kilitlenmeleri belgelerine bakın.

Uygulama içi güncelleştirmeleri kullanmaya başlamayı öğrenmek için App Center Distribute belgelerini okuyun.

Not

Xamarin Forms'daki taşınabilir API'leri kullanarak tüm modüllerdeki API'leri görürsünüz, ancak tüm bu API'ler UWP ve Windows Masaüstü platformlarında desteklenmez ve UWP ve Windows Masaüstü uygulamalarınızda çalışırken hiçbir şey yapmıyorlar. Özellikle UWP ve Windows Masaüstü şu modülü desteklemez: Dağıt. Dönüş türüne sahip herhangi bir yöntem UWP ve Windows Masaüstü uygulamasında (nesneler için), 0 (sayılar için) veya false (booleanlar için) döndürür null .

5. Yedekleme kuralları (yalnızca Android)

Not

Android 6.0 (API düzeyi 23) veya üzerini hedefleyen uygulamalarda Otomatik Yedekleme otomatik olarak etkinleştirilir. 

Not

Yedekleme kuralları içeren özel bir dosyanız zaten varsa üçüncü adıma geçin.

Cihazlar hakkında yanlış bilgi almaktan kaçınmak için otomatik yedekleme kullanıyorsanız, sonraki adımları izleyin:

5.1. Android 11 (API düzeyi 30) veya daha düşük sürümler için.

  1. Resources/xml klasöründe appcenter_backup_rule.xml dosyası oluşturun.
  1. Projenin AndroidManifest.xml dosyasını açın. özniteliğini android:fullBackupContent<application> öğesine ekleyin. appcenter_backup_rule.xml kaynak dosyasına işaret etmelidir.
android:fullBackupContent="@xml/appcenter_backup_rule"
  1. appcenter_backup_rule.xml dosyasına aşağıdaki yedekleme kurallarını ekleyin:
<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. Android 12 (API düzeyi 31) veya üzeri için.

  1. Resources/xml klasöründe appcenter_backup_rule.xml dosyası oluşturun.
  1. Projenin AndroidManifest.xml dosyasını açın. özniteliğini android:dataExtractionRules<application> öğesine ekleyin. appcenter_backup_rule.xml kaynak dosyasına işaret etmelidir.
android:dataExtractionRules="@xml/appcenter_backup_rule"
  1. appcenter_backup_rule.xml dosyasına aşağıdaki yedekleme kurallarını ekleyin:
<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>