Otrzymuj czytelne raporty o awariach w panelu Crashlytics


iOS+ (platformy Apple)

W przypadku aplikacji na platformy Apple korzystających z Crashlytics pakietu SDK Unity w wersji 8.2.0 lub nowszej wtyczka Firebase dla Unity Editor automatycznie skonfiguruje projekt Xcode w celu przesyłania symboli. Pobierz najnowszą wersję.

Android

W przypadku aplikacji na Androida pakiet Crashlytics Unity SDK w wersji 8.6.1 lub nowszej automatycznie zawiera raporty o awariach NDK, które umożliwiają Crashlytics automatyczne zgłaszanie awarii Unity IL2CPP na urządzeniach z Androidem. Aby jednak zobaczyć symbolizowane ścieżki stosu dotyczące awarii bibliotek natywnych w panelu Crashlytics, musisz przesłać informacje o symbolach w momencie kompilacji za pomocą interfejsu wiersza poleceń Firebase.

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

  2. Skonfiguruj środowisko i projekt pod kątem przesyłania symboli:

    1. Postępuj zgodnie z instrukcjami, aby zainstalować interfejs wiersza poleceń Firebase.

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

    2. (dotyczy tylko aplikacji korzystających z interfejsu API na poziomie 30 lub wyższym) Aby wyłączyć tagowanie wskaźnika, zaktualizuj szablon AndroidManifest.xml aplikacji:

      1. Zaznacz pole Ustawienia odtwarzacza Android > Ustawienia publikowania > Kompilacja > Niestandardowy główny plik manifestu.

      2. Otwórz szablon pliku manifestu, który znajduje się w folderze 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. Utwórz projekt i prześlij symbole.

    Wykonuj te czynności za każdym razem, gdy tworzysz wersję wydania lub inną wersję, w przypadku której chcesz zobaczyć symboliczne ścieżki stosu w konsoli Firebase.

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

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

      • Utwórz pakiet APK bezpośrednio w edytorze Unity.
        Zanim rozpoczniesz kompilację, w oknie Ustawienia kompilacji zaznacz 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, wykonują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ład identyfikatora aplikacji Firebase na Androida: 1:567383003300:android:17104a2ced0c9b9b

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

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

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

      Wyświetlanie zaawansowanych opcji korzystania z polecenia wiersza poleceń Firebase do generowania i przesyłania plików symboli

      Flaga Opis
      --generator=csym

      Zamiast domyślnego generatora Breakpad używa starszego generatora plików symboli cSYM.

      Nie zalecamy ich używania. Zalecamy użycie domyślnego generatora plików symboli Breakpad.

      --generator=breakpad

      Używa generatora plików symboli Breakpad.

      Pamiętaj, że domyślnie do generowania pliku symboli służy Breakpad. Używaj tej flagi tylko wtedy, gdy do konfiguracji kompilacji dodano flagę symbolGenerator { csym() } i chcesz ją zastąpić, aby zamiast niej używać Breakpada.

      --dry-run

      generuje pliki symboli, ale ich nie przesyła;

      Ten znacznik jest przydatny, jeśli chcesz sprawdzić zawartość wysyłanych plików.

      --debug zawiera dodatkowe informacje na potrzeby debugowania;