Uzyskiwanie czytelnych raportów o awariach w panelu Crashlytics (Unity)

Wybierz platformę: iOS+ Android Flutter Unity


iOS+ (platformy Apple)

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

Android

W przypadku aplikacji na Androida pakiet SDK Crashlytics Unity w wersji 8.6.1 lub nowszej automatycznie uwzględnia raportowanie awarii NDK, co pozwala Crashlytics na automatyczne zgłaszanie awarii Unity IL2CPP na Androidzie. Aby jednak w panelu Crashlytics wyświetlać zrzuty stosu z symbolami dotyczące awarii biblioteki natywnej, musisz przesłać informacje o symbolach podczas kompilacji za pomocą interfejsu wiersza poleceń Firebase.

  1. Upewnij się, że używasz pakietu SDK Crashlytics Unity 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 masz już zainstalowany interfejs wiersza poleceń, zaktualizuj go do najnowszej wersji.

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

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

      2. Otwórz szablon pliku manifestu, który znajduje się w 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.

    Wykonaj te czynności za każdym razem, gdy tworzysz kompilację do publikacji lub dowolną kompilację, dla której chcesz wyświetlać zrzuty stosu z symbolami w panelu Crashlytics.

    1. W oknie Build Settings (Ustawienia kompilacji) wykonaj jedną z tych czynności:

      • wyeksportować do projektu Android Studio, aby go utworzyć;

      • Utwórz plik APK bezpośrednio w edytorze Unity.
        Przed kompilacją upewnij się, że w oknie Ustawienia kompilacji jest zaznaczone 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ń.

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

        • Plik APK został utworzony bezpośrednio w Unity – PATH/TO/SYMBOLS to ścieżka do skompresowanego 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 plików symboli i ich przesyłania

      Flaga Opis
      --generator=csym

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

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

      --generator=breakpad

      używa generatora plików symboli Breakpad,

      Pamiętaj, że domyślnie generowanie plików symboli odbywa się w formacie Breakpad. Używaj tej flagi tylko wtedy, gdy w konfiguracji kompilacji dodano symbolGenerator { csym() } i chcesz zastąpić tę opcję, aby używać Breakpad.

      --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;