Share via


MAUI ve Xamarin SDK Sorunlarını Giderme

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

Ayrıntılı günlükleri toplama

Günlük düzeyini olarak ayarlama yönergelerini almak için VERBOSEDiğer API'ler bölümüne bakın.
Ayrıntılı günlükleriWindows>ÇıktısındaHata Ayıklama> penceresinde bulabilirsiniz.

Kurulum sırasında karşılaşılan sorunlar

  1. Xamarin.Forms uygulaması için paketlerin tüm kitaplıklara başvuran tüm projelerde yüklü olduğundan emin olun. Aksi takdirde hatalar görürsünüz.
  2. Xamarin.iOS için derleme yaparken bu hatayı görürseniz: MTOUCH: Error MT3001: Could not AOT the assembly 'obj/**/Build/Microsoft.AppCenter.**.iOS.Bindings.dll' (MT3001) Xamarin.iOS bileşenini 10.4.0.128 veya sonraki bir sürüme güncelleştirmeniz gerekir.
  3. Xamarin.iOS MTOUCH: Error MT5210: Native linking failed, undefined symbol: _OBJC_METACLASS_$_MS{SomeSdkClassName}. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in. (MT5210) için oluştururken bu hatayı veya benzer bir hatayı (MT5211 App Center'dan bahseden benzer ileti içeren kod) görürseniz, belirli bir hizmetin API'lerini kullanmadan önce arama AppCenter.Start yaptığınızdan emin olun. Arıyorsanız Start ancak bu sorun varsa Xamarin.iOS bileşenini 10.4.0.128 veya daha yeni bir sürüme güncelleştirmeniz gerekir.
  4. konsolunda " App Center SDK başarıyla yapılandırıldı" iletisini içeren bir Assert günlüğü arayın. Bu, SDK'nın başarıyla yapılandırıldığını doğrular.

Analiz verileri portalda gösterilmiyor

  1. SDK modüllerini doğru şekilde tümleştirdiğinizden emin olun.

  2. Yöntem çağrısıyla birlikte doğru Uygulama Gizli Dizisi'nin de eklendiğinden Start() emin olun. Uygulamayı portalda açıp Başlarken sayfasına giderek tam Start() kodu kopyalayabilirsiniz.

  3. Arka uçtan gönderilen günlükleri görmek istiyorsanız, uygulamanızda günlük düzeyini Ayrıntılı olarak değiştirin; SDK günlükleri konsolda yazdırır. SDK'yı başlatmadan önce aşağıdaki API'yi çağırın.

    AppCenter.LogLevel = LogLevel.Verbose;
    

    "App Center SDK başarıyla yapılandırıldı" (Bilgi günlüğü düzeyinde) ifadesinin bulunduğu günlüklere bakın, ardından HTTPS istek günlüklerini görüp görmediğinizi denetleyin.

  4. Cihazınızın çevrimiçi olduğundan emin olun.

  5. Bazen günlüklerin portalda ortaya çıkarılası birkaç dakika sürebilir. Durum buysa biraz bekleyin.

  6. App Center arka ucu verilerinizi aldı mı diye kontrol etmek için Analiz hizmetindeki Günlük akışı bölümüne gidin. Etkinlikleriniz gönderildikten sonra görünmelidir.

Kilitlenmeler portalda gösterilmiyor

  1. SDK modüllerini doğru şekilde tümleştirdiğinizden emin olun.

  2. Yöntem çağrısıyla birlikte doğru Uygulama Gizli Dizisi'nin de eklendiğinden Start() emin olun. Uygulamayı portalda açıp Başlarken sayfasına giderek tam Start() kodu kopyalayabilirsiniz.

  3. Kilitlenme sonrasında uygulamayı yeniden başlatın. App Center Kilitlenmeleri, kilitlenme günlüğünü yalnızca yeniden başlatıldıktan sonra iletir. Ayrıca, Xamarin.iOS ve Xamarin.Mac'te hata ayıklayıcı eklediyseniz SDK hiçbir kilitlenme günlüğünü kaydetmez. iOS uygulamasını kilitlediğinizde hata ayıklayıcının bağlı olmadığından emin olun. Xamarin.Android'de hata ayıklayıcı ekliyken kilitlenebilir, ancak işlenmeyen özel duruma girdikten sonra yürütmeye devam etmeniz gerekir.

  4. Arka uçtan gönderilen günlükleri görmek istiyorsanız, uygulamanızda günlük düzeyini Ayrıntılı olarak değiştirin; SDK günlükleri konsolda yazdırır. SDK'yı başlatmadan önce aşağıdaki API'yi çağırın.

    AppCenter.LogLevel = LogLevel.Verbose;
    

    "App Center SDK başarıyla yapılandırıldı" (Bilgi günlüğü düzeyinde) ifadesinin bulunduğu günlüklere bakın, ardından HTTPS istek günlüklerini görüp görmediğinizi denetleyin.

  5. Xamarin Insights veya HockeyApp gibi Kilitlenme Raporlama işlevselliği sağlayan başka bir kitaplık kullanmayın. Yalnızca bir kilitlenme raporlama SDK'sı tümleşik olabilir.

  6. Cihazınızın çevrimiçi olduğundan emin olun.

  7. Bazen günlüklerin portalda ortaya çıkarılası birkaç dakika sürebilir. Durum buysa biraz bekleyin.

  8. SDK'nın bir sonraki uygulama başlangıcında kilitlenme algılayıp algılamadığını denetlemek istiyorsanız, uygulamanın son oturumda kilitlenip kilitlenmediğini ve bir uyarı gösterip göstermeyeceğini denetlemek için API'yi çağırabilirsiniz. Veya kilitlenme geri çağırmasını genişleterek sunucuya başarıyla gönderilip gönderilmediğini görebilirsiniz.

  9. App Center arka ucuna kilitlenme olup olmadığını denetlemek için Analiz hizmetindeki Günlük akışı bölümüne gidin. Kilitlenmeleriniz gönderildikten sonra orada görünmelidir.

Dağıtım ve uygulama içi güncelleştirmeler otomatik kullanıcı arabirimi testlerimi engelliyor

Otomatik kullanıcı arabirimi testleri çalıştırıyorsanız, uygulama içi güncelleştirmeler app Center arka uçta kimlik doğrulaması yapmaya çalışacakları için otomatik ui testlerinizi engeller. Ui testleriniz için App Center Distribute'ı etkinleştirmemenizi öneririz.

Google Play, DistributePlay'i ekledikten sonra uygulamayı reddeder

Google Play, uygulama içi güncelleştirme uygulaması içerdiğinden Distribute modülü kullanan uygulamaları reddeder. Bu durumu önlemek için App Center SDK'sı, ana modül için saplamalar içeren bir modüle sahiptir DistributePlay . Ana derlemeyi API'yi taklit Distribute eden saplanmış derleme ile değiştirir. İstemci uygulamasında ek değişiklik yapılması gerekmez. ile DistributePlay ilgili uygulama içi güncelleştirme kodu yoktur. Modülü uygulamanızla DistributePlay değiştirdikten Distribute sonra yine reddedilirse modülün doğru şekilde değiştirildiğini Distribute doğrulamak için lütfen aşağıdaki adımları izleyin:

  • Google Play Konsolu'ndaki tüm yayımlama gruplarınız için tüm sürümlerinizde ile DistributePlay değiştirdiğinizden Distribute emin olun.
  • kullanıyorsanız Xamarin.Forms lütfen modülü hem paylaşılan Xamarin.Android hem de projelere eklediğinizden DistributePlay emin olun.
  • Çıkış dosyanızın derlemeyi Microsoft.AppCenter.Distribute.Android.Bindings.dll içermediğini doğrulayın. Kontrol etmek için APK Çözümleyicisi'ni kullanabilirsiniz.

Konsolunda veritabanının iOS'ta açılamadığını belirten iletiler

App Center, günlükleri arka uçtan gönderilmeden önce kalıcı hale getirmek için SQLite kullanır. Uygulamanızı işletim sistemi tarafından sağlanan kitaplığı kullanmak yerine kendi SQLite kitaplığınızla bir arada kullanıyorsanız konsolda [AppCenter] ERROR: -[MSACDBStorage executeSelectionQuery:]/147 Failed to open database bunun gibi hatalar görebilirsiniz ve arka uçta herhangi bir analiz veya kilitlenme bilgisi görmezsiniz. SDK'yi 0.16.0 veya sonraki bir sürüme güncelleştirin.

App Center gizli dizi değerini koruma

app_secret uygulamanızın tanımlayıcısıdır; trafiğin hangi uygulamaya uygulandığını bilmeniz gerekir ve mevcut verileri almak veya düzenlemek için kullanılamaz. Uygulamanız app_secret kullanıma sunulursa en büyük risk uygulamanıza hatalı veri göndermektir, ancak verilerin güvenliği üzerinde bir etkisi olmaz.

Hassas verileri almak için istemci tarafında oluşturulan bir uygulama/kullanıcı belirteci sağlamanız gerekir. İstemci tarafında verileri tamamen güvenli hale getirmenin bir yolu yoktur.

Uygulama gizli dizisini kodunuza eklemek için bir ortam değişkeni kullanarak uygulamanızın güvenliğini geliştirebilirsiniz. Bu şekilde gizli dizi kodunuzda görünmez.