Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Firebase Crashlytics'i kullanmaya başlayın

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Bu hızlı başlangıç, Firebase konsolunda kapsamlı kilitlenme raporları alabilmeniz için Firebase Crashlytics SDK ile uygulamanızda Firebase Crashlytics'i nasıl kuracağınızı açıklar.

Crashlytics'i kurmak, hem Firebase konsolunda hem de IDE'nizde görevler gerektirir (bir Firebase yapılandırma dosyası ve Crashlytics SDK eklemek gibi). Kurulumu tamamlamak için, ilk kilitlenme raporunuzu Firebase'e göndermek üzere bir test kilitlenmesini zorlamanız gerekir.

Sen başlamadan önce

  1. Henüz yapmadıysanız, Unity projenize Firebase'i ekleyin . Unity projeniz yoksa örnek bir uygulama indirebilirsiniz.

  2. Önerilen : Kilitlenmeyen kullanıcılar, içerik haritası günlükleri ve hız uyarıları gibi özellikler elde etmek için Firebase projenizde Google Analytics'i etkinleştirmeniz gerekir.

    • Mevcut Firebase projenizde Google Analytics etkin değilse, Google Analytics'i, Firebase konsolundaki > Proje ayarları'nın Entegrasyonlar sekmesinden etkinleştirebilirsiniz.

    • Yeni bir Firebase projesi oluşturuyorsanız proje oluşturma iş akışı sırasında Google Analytics'i etkinleştirin.

1. Adım : Crashlytics SDK'yı uygulamanıza ekleyin

Unity projenizi Firebase projenize kaydettirdiğinizde, Firebase Unity SDK'sını zaten indirmiş ve Crashlytics paketini eklemiş olabilirsiniz.

  1. Firebase Unity SDK'yı indirin, ardından SDK'yı uygun bir yerde açın.

    Firebase Unity SDK, platforma özel değildir.

  2. Açık Unity projenizde Assets > Import Package > Custom Package seçeneğine gidin.

  3. Sıkıştırılmamış SDK'dan Crashlytics SDK'yı ( FirebaseCrashlytics.unitypackage ) içe aktarmayı seçin.

    Desteklenen diğer Firebase ürünlerini de içe aktarabilirsiniz.

  4. Unity Paketini İçe Aktar penceresinde, İçe Aktar öğesine tıklayın.

tutucu96 l10n-yertutucu98 l10n-yertutucu100 l10n-yer

2. Adım : Crashlytics'i Başlatın

  1. Yeni bir C# betiği oluşturun, ardından bunu sahnedeki bir GameObject ekleyin.

    1. İlk sahnenizi açın, ardından CrashlyticsInitializer adlı boş bir GameObject oluşturun.

    2. Yeni nesne için Denetçi'de Bileşen Ekle'ye tıklayın.

    3. CrashlyticsInitializer nesnesine eklemek için CrashlyticsInit betiğinizi seçin.

  2. Komut dosyasının Start yönteminde Crashlytics'i başlatın:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    // Import Firebase
    using Firebase;
    
    public class CrashlyticsInit : MonoBehaviour {
        // Use this for initialization
        void Start () {
            // Initialize Firebase
            Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
                var dependencyStatus = task.Result;
                if (dependencyStatus == Firebase.DependencyStatus.Available)
                {
                    // Create and hold a reference to your FirebaseApp,
                    // where app is a Firebase.FirebaseApp property of your application class.
                    // Crashlytics will use the DefaultInstance, as well;
                    // this ensures that Crashlytics is initialized.
                    Firebase.FirebaseApp app = Firebase.FirebaseApp.DefaultInstance;
    
                    // Set a flag here for indicating that your project is ready to use Firebase.
                }
                else
                {
                    UnityEngine.Debug.LogError(System.String.Format(
                      "Could not resolve all Firebase dependencies: {0}",dependencyStatus));
                    // Firebase Unity SDK is not safe to use here.
                }
            });
        }
    
      // Update is called once per frame
      void Update()
        // ...
    }

3. Adım : (Yalnızca Android) Sembol yükleme için hazırlanın

Bu bölümdeki adımlar yalnızca IL2CPP kullanan Android uygulamaları için gereklidir.

  • Unity'nin Mono komut dosyası arka ucunu kullanan Android uygulamaları için bu adımlar gerekli değildir.

  • Apple platform uygulamaları için bu adımlara gerek yoktur çünkü Firebase Unity Editor eklentisi, Xcode projenizi sembolleri yükleyecek şekilde otomatik olarak yapılandırır.

Crashlytics'in Unity SDK 8.6.1+ sürümü, Crashlytics'in Android'de Unity IL2CPP çökmelerini otomatik olarak raporlamasına olanak tanıyan NDK kilitlenme raporlamasını otomatik olarak içerir. Ancak Crashlytics panosunda yerel kitaplık çökmelerine ilişkin sembolik yığın izlerini görmek için, oluşturma sırasında Firebase CLI'yi kullanarak sembol bilgilerini yüklemeniz gerekir.

Sembol yüklemeye hazırlanmak için aşağıdaki adımları tamamlayın:

  1. Firebase CLI'yi yüklemek için talimatları izleyin.

    CLI'yi zaten yüklediyseniz, en son sürümüne güncellediğinizden emin olun.

  2. (yalnızca Android API düzeyi 30+ kullanan uygulamalar için) İşaretçi Etiketlemeyi devre dışı bırakmak için uygulamanızın AndroidManifest.xml şablonunu güncelleyin:

    1. Android Oynatıcı Ayarları > Yayınlama Ayarları > Oluştur > Özel Ana Manifest kutusunu işaretleyin.

    2. Assets/Plugins/Android/AndroidManifest.xml bulunan bildirim şablonunu açın.

    3. Uygulama etiketine şu özniteliği ekleyin: <application android:allowNativeHeapPointerTagging="false" ... />

Adım 4 : Projenizi oluşturun ve semboller yükleyin

iOS+ (Apple platformu)

  1. Yapı Ayarları iletişim kutusundan projenizi bir Xcode çalışma alanına aktarın.

  2. Uygulamanızı oluşturun.

    Apple platformları için, Firebase Unity Editor eklentisi, Xcode projenizi her yapı için Crashlytics uyumlu bir sembol dosyası oluşturacak ve Firebase sunucularına yükleyecek şekilde otomatik olarak yapılandırır.

Android

  1. Yapı Ayarları iletişim kutusundan aşağıdakilerden birini yapın:

    • Projenizi oluşturmak için bir Android Studio projesine aktarın; veya

    • APK'nızı doğrudan Unity Editor'den oluşturun.
      İnşa etmeden önce, İnşa Ayarları iletişim kutusunda Semboller oluştur.zip onay kutusunun işaretli olduğundan emin olun.

  2. Derlemeniz bittiğinde, Crashlytics uyumlu bir sembol dosyası oluşturun ve aşağıdaki Firebase CLI komutunu çalıştırarak bunu Firebase sunucularına yükleyin:

    firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLS
    • FIREBASE_APP_ID : Firebase Android Uygulama Kimliğiniz (paket adınız değil)
      Örnek Firebase Android Uygulama Kimliği: 1:567383003300:android:17104a2ced0c9b9b

    • PATH/TO/SYMBOLS : CLI tarafından oluşturulan sembol dosyasının yolu

      • Bir Android Studio projesine aktarıldı — PATH/TO/SYMBOLS , uygulamayı Gradle veya Android Studio aracılığıyla oluşturduktan sonra dışa aktarılan proje kökünde oluşturulan unityLibrary/symbols dizinidir.

      • APK'yı doğrudan Unity içinden oluşturun - PATH/TO/SYMBOLS , derlemeniz bittiğinde proje kök dizininde oluşturulan sıkıştırılmış sembol dosyasının yoludur (örneğin: myproject/myapp-1.0-v100.symbols.zip ).

    Sembol dosyası oluşturma ve yükleme için Firebase CLI komutunu kullanmak için gelişmiş seçenekleri görüntüleyin

    bayrak Tanım
    --generator=csym

    Varsayılan Breakpad oluşturucu yerine eski cSYM simge dosyası oluşturucusunu kullanır

    Kullanım için tavsiye edilmez. Varsayılan Breakpad sembol dosyası oluşturucusunu kullanmanızı öneririz.

    --generator=breakpad

    Breakpad sembol dosyası oluşturucusunu kullanır

    Sembol dosyası oluşturma için varsayılanın Breakpad olduğunu unutmayın. Bu bayrağı yalnızca yapı yapılandırmanıza symbolGenerator { csym() } ve bunun yerine Breakpad'i kullanmak için geçersiz kılmak istiyorsanız kullanın.

    --dry-run

    Sembol dosyalarını oluşturur ancak yüklemez

    Bu bayrak, gönderilen dosyaların içeriğini incelemek istiyorsanız kullanışlıdır.

    --debug Ek hata ayıklama bilgileri sağlar

Adım 5 : Kurulumu tamamlamak için bir test çökmesini zorlayın

Crashlytics kurulumunu tamamlamak ve Firebase konsolunun Crashlytics panosunda ilk verileri görmek için bir test çökmesini zorlamanız gerekir.

  1. Mevcut bir GameObject bulun, ardından ona aşağıdaki betiği ekleyin. Bu komut dosyası, uygulamanızı çalıştırdıktan birkaç saniye sonra test çökmesine neden olur.

    using System;
    using UnityEngine;
    
    public class CrashlyticsTester : MonoBehaviour {
    
        int updatesBeforeException;
    
        // Use this for initialization
        void Start () {
          updatesBeforeException = 0;
        }
    
        // Update is called once per frame
        void Update()
        {
            // Call the exception-throwing method here so that it's run
            // every frame update
            throwExceptionEvery60Updates();
        }
    
        // A method that tests your Crashlytics implementation by throwing an
        // exception every 60 frame updates. You should see non-fatal errors in the
        // Firebase console a few minutes after running your app with this method.
        void throwExceptionEvery60Updates()
        {
            if (updatesBeforeException > 0)
            {
                updatesBeforeException--;
            }
            else
            {
                // Set the counter to 60 updates
                updatesBeforeException = 60;
    
                // Throw an exception to test your Crashlytics implementation
                throw new System.Exception("test exception please ignore");
            }
        }
    }
    
  2. Uygulamanızı oluşturun ve derlemeniz tamamlandıktan sonra sembol bilgilerini yükleyin.

    • iOS+ : Firebase Unity Editor eklentisi, sembol dosyanızı yüklemek için Xcode projenizi otomatik olarak yapılandırır.

    • Android : IL2CPP kullanan Android uygulamalarınız için, sembol dosyanızı yüklemek üzere Firebase CLI crashlytics:symbols:upload komutunu çalıştırın.

  3. Uygulamanızı çalıştırın. Uygulamanız çalışmaya başladığında, cihaz günlüğünü izleyin ve istisnanın CrashlyticsTester tetiklenmesini bekleyin.

    • iOS+ : Günlükleri Xcode'un alt bölmesinde görüntüleyin.

    • Android : Terminalde şu komutu çalıştırarak günlükleri görüntüleyin: adb logcat .

  4. Cihaz günlüğünüzde istisnayı gördüğünüzde, kilitlenme raporunu Firebase'e gönderebilmesi için uygulamanızı yeniden başlatın.

  5. Test çökmenizi görmek için Firebase konsolunun Crashlytics panosuna gidin.

    Konsolu yenilediyseniz ve beş dakika sonra test çökmesini hâlâ görmüyorsanız, uygulamanızın kilitlenme raporları gönderip göndermediğini görmek için hata ayıklama günlüğünü etkinleştirin .

tutucu102 l10n-yer


Ve bu kadar! Crashlytics artık uygulamanızı çökmelere karşı izliyor. Tüm raporlarınızı ve istatistiklerinizi görüntülemek ve araştırmak için Crashlytics panosunu ziyaret edin.

Sonraki adımlar

  • Android uygulamanızın kilitlenme raporlarını doğrudan Crashlytics panosunda Google Play parçasına göre filtreleyebilmek için Google Play ile entegre edin . Bu, gösterge tablonuzu belirli yapılara daha iyi odaklamanıza olanak tanır.
tutucu112 l10n-yer