Otrzymuj czytelne raporty o awariach w panelu Crashlytics


iOS+ (platformy Apple)

W przypadku aplikacji na platformę Apple korzystających z Crashlyticspakietu SDK Unity w wersji 8.2.0 lub nowszej wtyczka Firebase Unity Editor automatycznie konfiguruje projekt Xcode pod kątem przesyłania symboli. Pobierz najnowszą wersję.

Android

W przypadku aplikacji na Androida Crashlyticspakiet Unity SDK w wersji 8.6.1 lub nowszej automatycznie zawiera raportowanie awarii NDK, co umożliwia Crashlyticsautomatyczne raportowanie awarii Unity IL2CPP na Androidzie. Aby jednak w panelu Crashlytics wyświetlać ślady stosu z symbolami w przypadku awarii biblioteki natywnej, musisz przesłać informacje o symbolach w momencie kompilacji za pomocą interfejsu wiersza poleceń Firebase.

  1. Upewnij się, że używasz pakietu Crashlytics Unity SDK w wersji 8.6.1 lub nowszej. Pobierz najnowszą wersję.

  2. Skonfiguruj środowisko i projekt na potrzeby przesyłania symboli:

    1. Postępuj zgodnie z instrukcjami instalowania interfejsu Firebase CLI.

      Jeśli wiersz poleceń został już zainstalowany, zaktualizuj go do najnowszej wersji.

    2. (tylko w przypadku aplikacji korzystających z interfejsu API Androida na poziomie 30 lub wyższym) Zaktualizuj szablon aplikacjiAndroidManifest.xml, aby wyłączyć oznaczanie wskaźnika:

      1. Zaznacz pole Android Player Settings > Publishing Settings > Build > Custom Main Manifest (Ustawienia odtwarzacza Androida > Ustawienia publikowania > Kompilacja > Niestandardowy główny plik manifestu).

      2. Otwórz szablon pliku manifestu znajdujący się pod adresem Assets/Plugins/Android/AndroidManifest.xml.

      3. (tylko w przypadku aplikacji korzystających z pakietu SDK w wersji starszej niż 8.8.0) Dodaj do tagu aplikacji ten atrybut:<application android:allowNativeHeapPointerTagging="false" ... />

  3. Skompiluj projekt i prześlij symbole.

    Wykonuj te czynności za każdym razem, gdy tworzysz wersję do publikacji lub dowolną wersję, w przypadku której chcesz wyświetlać w Firebase konsoli zsymbolizowane ślady stosu.

    1. W oknie Ustawienia kompilacji wykonaj jedną z tych czynności:

      • wyeksportować projekt do Android Studio, aby go skompilować;

      • Twórz pliki APK bezpośrednio w edytorze Unity.
        Zanim rozpoczniesz kompilację, upewnij się, że w oknie Ustawienia kompilacji zaznaczone jest pole wyboru Utwórz plik symbols.zip.

    2. Po zakończeniu kompilacji wygeneruj plik symboli zgodny z Crashlytics i prześlij go na serwery Firebase, uruchamiając to polecenie wiersza poleceń Firebase:

      firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLS
      • FIREBASE_APP_ID: identyfikator aplikacji Firebase na Androida (nie nazwa pakietu)
        Przykładowy identyfikator aplikacji Firebase na Androida: 1:567383003300:android:17104a2ced0c9b9b

      • PATH/TO/SYMBOLS: ścieżka do pliku symboli wygenerowanego przez interfejs wiersza poleceń.

        • Wyeksportowany do projektu Android Studio – PATH/TO/SYMBOLS to katalog unityLibrary/symbols, który jest tworzony w wyeksportowanym katalogu głównym projektu po skompilowaniu aplikacji za pomocą Gradle lub Android Studio.

        • Utworzono plik APK bezpośrednio w Unity – PATH/TO/SYMBOLS to ścieżka do spakowanego pliku symboli wygenerowanego w katalogu głównym projektu po zakończeniu kompilacji (np. myproject/myapp-1.0-v100.symbols.zip).

      Wyświetlanie opcji zaawansowanych dotyczących używania polecenia interfejsu wiersza poleceń Firebase do generowania i przesyłania pliku symboli

      Flaga Opis
      --generator=csym

      Używa starszego generatora plików symboli cSYM zamiast domyślnego generatora Breakpad.

      Nie zalecamy korzystania z tej funkcji. Zalecamy używanie domyślnego generatora plików symboli Breakpad.

      --generator=breakpad

      korzysta z generatora plików symboli Breakpad,

      Pamiętaj, że domyślnie do generowania pliku symboli używany jest Breakpad. Używaj tej flagi tylko wtedy, gdy w konfiguracji kompilacji dodano symbolGenerator { csym() } i chcesz zastąpić to ustawienie, aby używać Breakpada.

      --dry-run

      Generuje pliki symboli, ale ich nie przesyła.

      Ten znacznik przydaje się, jeśli chcesz sprawdzić zawartość wysyłanych plików.

      --debug Zawiera dodatkowe informacje na potrzeby debugowania