Bu hızlı başlangıç kılavuzunda, Firebase Crashlytics ayarlarını uygulamanızda nasıl yapacağınız açıklanmaktadır. Kapsamlı kilitlenmeleri elde edebilmek için Firebase Crashlytics SDK'sı ile Firebase konsolunda bulabilirsiniz.
Crashlytics kurulumu için hem Firebase konsolunda hem de (ör. Firebase yapılandırma dosyası ve Crashlytics SDK) kaldırın. Kurulumu tamamlamak için bir test kilitlenmesini, ilk Firebase'e kilitlenme raporu gönderir.
Başlamadan önce
Henüz yapmadıysanız Firebase'i ekleyin. Unity projenize ekleyeceğiz. Unity projeniz yoksa şunu indirebilirsiniz: örnek uygulama.
Önerilen: Otomatik içerik haritası günlükleri Kilitlenme, önemli olmayan veya ANR etkinliğiyle sonuçlanan kullanıcı işlemlerini anlamak için Firebase projenizde Google Analytics modunu etkinleştirmeniz gerekir.
Mevcut Firebase projenizde Google Analytics yoksa Google Analytics öğesini şuradan etkinleştirebilirsiniz: hesabınızın Entegrasyonlar
> Proje ayarlarıFirebase konsolunda kontrol edebilirsiniz. Yeni bir Firebase projesi oluşturuyorsanız Google Analytics özelliğini etkinleştirin müzakere tekniği de eklediniz.
1. Adım: Crashlytics SDK'sını uygulamanıza ekleyin
Unity projenizi Firebase projenize kaydettiğinizde, Firebase Unity SDK'sını zaten indirmiş ve paketleri eklemiş olabilir öğrenebilirsiniz.
Firebase Unity SDK'sını indirin, ardından SDK'yı uygun bir yerde sıkıştırılmış dosyayı açın. Firebase Unity SDK'sı platforma özel değildir.
Açık Unity projenizde şuraya gidin: Öğeler > Paketi İçe Aktar > Özel Paket.
Sıkıştırılmamış SDK'dan Crashlytics SDK'sını içe aktarmak için seçim yapın (
FirebaseCrashlytics.unitypackage
)., içerik haritası günlükleri uygulamanıza Google Analytics için Firebase SDK'sını da ekleyin (
FirebaseAnalytics.unitypackage
). Şunlardan emin olun: Google Analytics etkin Firebase projenizde.Unity Paketini İçe Aktar penceresinde İçe Aktar'ı tıklayın.
2. Adım: Crashlytics uygulamasını başlatın
Yeni bir C# komut dosyası oluşturun, ardından bunu sahnedeki bir
GameObject
öğesine ekleyin.İlk sahnenizi açın, ardından adlı boş bir
GameObject
oluşturunCrashlyticsInitializer
.Yeni nesnenin İnceleyici'de Bileşen Ekle'yi tıklayın.
CrashlyticsInit
komut dosyanızı seçerekCrashlyticsInitializer
nesne algılandı.
Komut dosyasının
Start
yönteminde Crashlytics öğesini başlatın:using System.Collections; using System.Collections.Generic; using UnityEngine; // Import Firebase and Crashlytics using Firebase; using Firebase.Crashlytics; 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; // When this property is set to true, Crashlytics will report all // uncaught exceptions as fatal events. This is the recommended behavior. Crashlytics.ReportUncaughtExceptionsAsFatal = true; // 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 gerekli ayarları yapın
Bu adım yalnızca IL2CPP kullanan Android uygulamaları için gereklidir.
Unity’nin Mono kodlama arka ucunu kullanan Android uygulamaları için bu adımlar gerekir.
Apple platform uygulamaları için bu adımlar gerekli değildir. Çünkü Firebase Unity Düzenleyici eklentisi, Xcode projenizi otomatik olarak simge yükleyecek şekilde yapılandırır.
Crashlytics’nin Unity SDK'sı 8.6.1+ otomatik olarak NDK kilitlenme raporunu içerir. Bu sayede Crashlytics, Unity'yi otomatik olarak bildirebilir IL2PBM kilitlenmesine neden oluyor. Ancak yerel kitaplıkta simgeselleştirilmiş yığın izlemeleri görmek isterseniz Crashlytics kontrol panelinde kilitleniyorsa, sembol bilgilerini şuradan yüklemeniz gerekir: Firebase KSA'yı kullanarak derleme süresini ayarlayın.
Sembol yükleme işlemini ayarlamak için aşağıdaki talimatları uygulayın: Firebase CLI'yı yükleyin.
KSA'yı zaten yüklediyseniz en son sürümüne güncelleyin.
4. Adım: Projenizi oluşturun ve semboller yükleyin
iOS+ (Apple platformu)
Build Settings (Ayarları Derleme) iletişim kutusundan projenizi Xcode çalışma alanına aktarın.
Uygulamanızı oluşturun.
Apple platformları için Firebase Unity Editor eklentisi otomatik olarak Xcode projenizi bir kod oluşturmak ve yüklemek için Her derleme için Firebase sunucularına Crashlytics uyumlu sembol dosyası gönderme.
Android
Derleme Ayarları iletişim kutusunda aşağıdakilerden birini yapın:
Projenizi oluşturmak için bir Android Studio projesine aktarma; veya
APK'nızı doğrudan Unity Editor'dan oluşturun.
Oluşturmadan önce, Simgeler.zip Oluştur'un onay kutusunun seçili olduğundan emin olun. Build Settings (Derleme Ayarları) iletişim kutusunda kontrol edildi.
Derlemeniz tamamlandığında Crashlytics ile uyumlu bir simge oluşturun dosyasını açın ve aşağıdaki komutu çalıştırarak bunu Firebase sunucularına yükleyin Firebase CLI komutu:
firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLS
FIREBASE_APP_ID: Firebase Android uygulaması kimliğiniz (kimliğiniz değil: paket adı)
Örnek Firebase Android uygulaması kimliği:1:567383003300:android:17104a2ced0c9b9b
PATH/TO/SYMBOLS: KSA
Bir Android Studio projesine aktarıldı — PATH/TO/SYMBOLS,
unityLibrary/symbols
dizinidir, Bu, uygulamayı derledikten sonra dışa aktarılan proje kökünde oluşturulur Android Studio aracılığıyla yapabilirsiniz.APK'yı doğrudan Unity içinden derledi: PATH/TO/SYMBOLS, sıkıştırılmış simge dosyasının yoludur derlemeniz tamamlandığında proje kök dizininde oluşturulur (örneğin:
) ekleyebilirsiniz.myproject/myapp-1.0-v100.symbols.zip
Sembol dosyası oluşturma ve yükleme için Firebase CLI komutu
İşaretleme Açıklama --generator=csym
varsayılan Breakpad oluşturucu
Kullanılması önerilmez. Varsayılan değeri kullanmanızı öneririz Breakpad simge dosyası oluşturma aracı.
--generator=breakpad
Breakpad simge dosyası oluşturma aracını kullanır.
Sembol dosyası oluşturmak için varsayılan olarak Breakpad'in kullanıldığını unutmayın. Bu işareti yalnızca
veya kullanmak için bunu geçersiz kılmak isterseniz Bunun yerine Breakpad'i kullanın.symbolGenerator { csym() }
--dry-run
Sembol dosyalarını oluşturur ancak yüklemez
Bu işaret, videonun içeriğini incelemek isterseniz gönderilir.
--debug
Ek hata ayıklama bilgileri sağlar
5. Adım: Kurulumu tamamlamak için test kilitlenmesini zorunlu kılın
Crashlytics kurulumunu tamamlamak ve ilk verileri Firebase konsolunun Crashlytics kontrol paneli, testi zorunlu kılmanız gerekiyor olabilir.
Mevcut bir
GameObject
bulun ve ardından aşağıdaki komut dosyasını buna ekleyin. Bu komut dosyası, uygulamanızı çalıştırdıktan birkaç saniye sonra testin kilitlenmesine 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 reports 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"); } } }
Derlemeniz tamamlandıktan sonra uygulamanızı derleyin ve simge bilgilerini yükleyin.
iOS+: Firebase Unity Editor eklentisi Xcode projesi yükleyin.
Android: IL2CPP kullanan Android uygulamalarınız için Firebase CLI
crashlytics:symbols:upload
komutunu kullanarak simge dosyası olarak da kaydedebilirsiniz.
Uygulamanızı çalıştırın. Uygulamanız çalışmaya başladıktan sonra cihaz günlüğünü izleyin ve
CrashlyticsTester
öğesinden tetiklenecek istisna.iOS+: Günlükleri, Xcode'un alt bölmesinde görüntüleyebilirsiniz.
Android: Terminalde aşağıdaki komutu çalıştırarak günlükleri görüntüleyin:
adb logcat
.
Şu sayfanın Crashlytics kontrol paneline gidin: Firebase konsolunda test kilitlenmenizi görebilirsiniz.
Konsolu yenilediyseniz ve test kilitlenmesini hâlâ görmüyorsanız beş dakika sonra hata ayıklama günlük kaydını etkinleştirme uygulamanızın kilitlenme raporu gönderip göndermediğini kontrol edin.
Hepsi bu kadar! Crashlytics artık uygulamanızı kilitlenmelere karşı izliyor. Görüntülemek ve incelemek için Crashlytics kontrol panelini ziyaret edin tüm raporlarınızdan ve istatistiklerinizden yararlanır.
Sonraki adımlar
- (Önerilen) IL2CPP kullanan Android uygulamaları için yerel bellek hatalarının neden olduğu kilitlenmeleri ayıklama konusunda yardım almak için toplama GWP-ASan raporları hakkında daha fazla bilgi edinin. Bellekle ilgili bu hatalar, Bu, uygulama güvenliği açıklarının önde gelen nedenidir. Bu hata ayıklama özelliğinden yararlanmak için uygulamanızın Unity (v10.7.0+) için en yeni Crashlytics SDK'sını kullanır ve GWP-ASan açıkça etkinleştirildi ( Android uygulama manifestinizi değiştirin).
- Kilitlenme raporu ayarlarınızı özelleştirme katılımlı raporlar, günlükler, anahtarlar ve önemli olmayan hataların izlenmesini ekleyerek.
- Google Play ile entegre ederek Android uygulamanızın kilitlenme raporlarını Google Play kanalına göre filtreleyebilirsiniz. Crashlytics kontrol paneli. Bu sayede kontrol panelinizde belirli derlemelere daha iyi odaklanabilirsiniz.