Aracılığıyla paylaş


MAUI ve Xamarin'i Kullanmaya Başlama

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

App Center SDK'sı modüler bir mimari kullanır, böylece hizmetlerin herhangi birini veya tümünü kullanabilirsiniz.

Uygulamanızın içine App Center Analytics ve App Center Çökmeleri'ni kullanmak için 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ı hedefliıyorsunuz.
  • 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

Uyarı

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

1.2 Xamarin.Android Hakkında

App Center portalında android işletim sistemi ve Xamarin platform 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 ile bir uygulama oluşturun.

Uyarı

Bir uygulamanın App Store'a 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 Sırrını almak için Uygulamanızı App Center Portalı'nda oluşturmak için

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

  1. appcenter.ms 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öşesinde üç dikey noktalı simgeye tıklayın ve seçerek Uygulama Gizli Kodunuzu alın.

3. Çözümünüzde App Center SDK'sını ekleyin

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

Uyarı

App Center SDK, güçlü adlandırılmış imzayı kullanan uygulamalarla uyumluluk için güçlü 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 Çöküşler'i seçin.
  • 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

  • Konsolunu Visual Studio'da açın. Bunu yapmak için Araçlar>NuGet Paket Yöneticisi Paket Yöneticisi>Konsolu'nu seçin.
  • Mac için Visual Studio'da ç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.

Uyarı

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 bir 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 ekle

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 Start() yöntemini ekle

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 anahtarı alırsınız. 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ı yapmanız gerekir:

  1. Uygulama Gizli Anahtarı 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

Uyarı

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 yönteminin Start() içine çağrıyı OnCreate() ekleyin

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

Uyarı

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

4.2.3 Xamarin.iOS ve Xamarin.Mac

Uyarı

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 Start() yönteminin içine FinishedLaunching() çağrısını ekleyin

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

Uyarı

Çökme kullanıyorsanız, bu yöntemi Kullanıcı Arayüzü/Ana İş Parçacığında çağırmanız ve c0 metodu dönene kadar arka plan görevlerini başlatmaktan kaçınmanız gerekir. Bunun nedeni, Çökme Servisi başlatılırken başka bir iş parçacığından yakalanan tüm null başvuru özel durumlarının yerel düzeyde bir çökme tetikleyip catch yan tümcesini yoksayabilecek olmasıdır. Yöntem geri döndüğünde AppCenter.Start null başvuru özel durumlarını tekrar denemek/yakalamak güvenlidir. Sinyaller ve üçüncü taraf çökme raporlayıcıları makalesinde bu zamanlama sorununun nedeni hakkında daha fazla bilgi edinebilirsiniz.

Uyarı

Uygulama Sırrınızı kaynak koduna yerleştirmek önerilmez.

Önemli

Uygulama gizli bilgilerini nereye yerleştirmeniz gerektiğini belirtmek için küme ayraçları kullanılır, ancak Start çağrısına küme ayracı koymayın.

Uyarı

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 Sırrınızla değiştirin

{Your App Secret} metnini uygulamanız için gerçek değerle değiştirdiğinizden emin olun. Uygulama Gizli Anahtarı, App Center portalında Başlarken veya Ayarlar sayfasında bulunabilir.

Başlarken sayfasında, uygulama gizli anahtarınızı içeren yukarıdaki kod örneği bulunmaktadır. Kodun tamamını kopyalayıp yapıştırabilirsiniz.

Yukarıdaki örnek, hem App Center Analytics hem de App Center Crashes'ı içerecek şekilde Start() yönteminin nasıl kullanılacağını göstermektedir.

İ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ıda yer alan modüller kullanılabilir.

Örneğin - App Center Analytics'e eklemek istiyorsanız çağrıyı Start() aşağıdaki gibi değiştirmeniz 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 Crashes belgelerine bakın.

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

Uyarı

Xamarin Forms'un taşınabilir API'lerini 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 null, sayılar için 0 veya boole'lar için false döndürür.

5. Yedekleme kuralları (yalnızca Android)

Uyarı

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

Uyarı

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>