Lesbare Absturzberichte im Crashlytics-Dashboard abrufen (Unity)

Plattform auswählen: iOS+ Android Flutter Unity


iOS+ (Apple-Plattformen)

Bei Apps für Apple-Plattformen, die das Crashlytics Unity SDK 8.2.0 oder höher verwenden, konfiguriert das Firebase Unity Editor-Plug-in Ihr Xcode-Projekt automatisch für das Hochladen von Symbolen. Laden Sie die aktuelle Version herunter.

Android

Bei Android-Apps ist im Crashlytics Unity SDK 8.6.1+ automatisch die NDK-Absturzmeldung enthalten. Dadurch kann Crashlytics automatisch IL2CPP-Abstürze von Unity unter Android melden. Wenn Sie jedoch symbolisierte Stabeltraces für Abstürze nativer Bibliotheken im Crashlytics-Dashboard sehen möchten, müssen Sie Symbolinformationen zur Build-Zeit mit der Firebase CLI hochladen.

  1. Sie benötigen das Crashlytics Unity SDK v8.6.1 oder höher. Laden Sie die aktuelle Version herunter.

  2. Umgebung und Projekt für das Hochladen von Symbolen einrichten:

    1. Folgen Sie der Anleitung zum Installieren der Firebase CLI.

      Wenn Sie die CLI bereits installiert haben, aktualisieren Sie sie auf die neueste Version.

    2. (nur für Apps, die Android-API-Level 30 oder höher verwenden) Aktualisieren Sie die AndroidManifest.xml-Vorlage Ihrer App, um das Pointer-Tagging zu deaktivieren:

      1. Klicken Sie das Kästchen für Android Player Settings > Publishing Settings > Build > Custom Main Manifest an.

      2. Öffnen Sie die Manifestvorlage unter Assets/Plugins/Android/AndroidManifest.xml.

      3. (nur für Apps, die eine SDK-Version vor 8.8.0 verwenden) Fügen Sie dem Anwendungstag das folgende Attribut hinzu: <application android:allowNativeHeapPointerTagging="false" ... />

  3. Erstellen Sie Ihr Projekt und laden Sie Symbole hoch.

    Führen Sie diese Schritte jedes Mal aus, wenn Sie einen Release-Build oder einen anderen Build erstellen, für den Sie symbolisierte Stacktraces in der Firebase-Konsole sehen möchten.

    1. Führen Sie im Dialogfeld Build Settings einen der folgenden Schritte aus:

      • Exportieren Sie das Projekt in ein Android Studio-Projekt, um es zu erstellen.

      • Erstellen Sie Ihr APK direkt im Unity-Editor.
        Prüfen Sie vor dem Erstellen, ob im Dialogfeld Build-Einstellungen das Kästchen für symbols.zip erstellen aktiviert ist.

    2. Nachdem der Build abgeschlossen ist, generieren Sie eine Crashlytics-kompatible Symboldatei und laden Sie sie auf die Firebase-Server hoch, indem Sie den folgenden Firebase-CLI-Befehl ausführen:

      firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLS
      • FIREBASE_APP_ID: Ihre Firebase-Android-App-ID (nicht Ihr Paketname)
        Beispiel für eine Firebase-Android-App-ID: 1:567383003300:android:17104a2ced0c9b9b

      • PATH/TO/SYMBOLS: Der Pfad zur Symboldatei, die von der CLI generiert wurde.

        • In ein Android Studio-Projekt exportiert: PATH/TO/SYMBOLS ist das Verzeichnis unityLibrary/symbols, das im exportierten Projektstammverzeichnis erstellt wird, nachdem Sie die App über Gradle oder Android Studio erstellt haben.

        • Das APK wurde direkt in Unity erstellt: PATH/TO/SYMBOLS ist der Pfad der gezippten Symboldatei, die nach Abschluss des Builds im Projektstammverzeichnis generiert wurde (z. B. myproject/myapp-1.0-v100.symbols.zip).

      Erweiterte Optionen für die Verwendung des Firebase-CLI-Befehls zum Generieren und Hochladen von Symboldateien ansehen

      Flag Beschreibung
      --generator=csym

      Verwendet den alten cSYM-Symboldateigenerator anstelle des Standard-Breakpad-Generators.

      Nicht zur Verwendung empfohlen. Wir empfehlen, den Standardgenerator für Breakpad-Symboldateien zu verwenden.

      --generator=breakpad

      Verwendet den Breakpad-Symboldateigenerator

      Die Standardeinstellung für die Generierung von Symboldateien ist Breakpad. Verwenden Sie dieses Flag nur, wenn Sie symbolGenerator { csym() } in Ihrer Build-Konfiguration hinzugefügt haben und es überschreiben möchten, um stattdessen Breakpad zu verwenden.

      --dry-run

      Generiert die Symboldateien, lädt sie aber nicht hoch

      Dieses Flag ist nützlich, wenn Sie den Inhalt der gesendeten Dateien prüfen möchten.

      --debug Zusätzliche Informationen zur Fehlerbehebung