Ottenere report leggibili sugli arresti anomali nella dashboard di Crashlytics (Unity)

Seleziona la piattaforma: iOS+ Android Flutter Unity


iOS+ (piattaforme Apple)

Per le app per piattaforme Apple che utilizzano l'Crashlytics Unity SDK 8.2.0+, il plug-in Firebase Unity Editor configura automaticamente il progetto Xcode per caricare i simboli. Scarica l'ultima versione.

Android

Per le app Android, l'Crashlytics Unity SDK 8.6.1+ include automaticamente la generazione di report sugli arresti anomali dell' NDK, che consente a Crashlytics di segnalare automaticamente gli arresti anomali di Unity IL2CPP su Android. Tuttavia, per visualizzare le tracce dello stack con simboli per gli arresti anomali delle librerie native nella dashboard Crashlytics, devi caricare le informazioni sui simboli in fase di compilazione utilizzando la CLI Firebase.

  1. Assicurati di utilizzare l'SDK Unity Crashlytics v8.6.1 o versioni successive. Scarica l'ultima versione.

  2. Configura l'ambiente e il progetto per il caricamento dei simboli:

    1. Segui le ist0ruzioni per installare l'Firebase interfaccia a riga di comando.

      Se hai già installato l'interfaccia a riga di comando, assicurati di eseguire l'aggiornamento all'ultima versione.

    2. (solo per le app che utilizzano il livello API Android 30 o versioni successive) Aggiorna il modello AndroidManifest.xml della tua app per disattivare il tagging dei puntatori:

      1. Seleziona la casella Android Player Settings > Publishing Settings > Build > Custom Main Manifest.

      2. Apri il modello di manifest che si trova in Assets/Plugins/Android/AndroidManifest.xml.

      3. (solo per le app che utilizzano una versione dell'SDK precedente alla 8.8.0) Aggiungi il seguente attributo al tag dell'applicazione: <application android:allowNativeHeapPointerTagging="false" ... />

  3. Compila il progetto e carica i simboli.

    Completa questi passaggi ogni volta che crei una build di release o una build per la quale vuoi visualizzare le tracce dello stack con simboli nella Crashlytics dashboard.

    1. Nella finestra di dialogo Build Settings, esegui una delle seguenti operazioni:

      • Esporta in un progetto Android Studio per compilare il progetto oppure

      • Compila l'APK direttamente da Unity Editor.
        Prima di compilare, assicurati che la casella di controllo Create symbols.zip sia selezionata nella finestra di dialogo Build Settings.

    2. Una volta completata la build, genera un file di simboli compatibile con Crashlytics e caricalo sui server Firebase eseguendo il seguente comando dell'interfaccia a riga di comando Firebase:

      firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLS
      • FIREBASE_APP_ID: l'ID app Firebase per Android (non il nome del pacchetto)
        Esempio di ID app Firebase per Android: 1:567383003300:android:17104a2ced0c9b9b

      • PATH/TO/SYMBOLS: il percorso del file di simboli generato dall' interfaccia a riga di comando

        • Esportato in un progetto Android Studio: PATH/TO/SYMBOLS è la directory unityLibrary/symbols, creata nella root del progetto esportato dopo aver compilato l'app tramite Gradle o Android Studio.

        • APK compilato direttamente da Unity: PATH/TO/SYMBOLS è il percorso del file di simboli zippato generato nella directory root del progetto al termine della compilazione (ad esempio: myproject/myapp-1.0-v100.symbols.zip).

      Visualizza le opzioni avanzate per l'utilizzo del Firebase comando dell'interfaccia a riga di comando per la generazione e il caricamento dei file di simboli

      Flag Descrizione
      --generator=csym

      Utilizza il generatore di file di simboli cSYM legacy anziché il generatore Breakpad predefinito

      L'utilizzo non è consigliato. Ti consigliamo di utilizzare il generatore di file di simboli Breakpad predefinito.

      --generator=breakpad

      Utilizza il generatore di file di simboli Breakpad

      Tieni presente che l'impostazione predefinita per la generazione di file di simboli è Breakpad. Utilizza questo flag solo se hai aggiunto symbolGenerator { csym() } nella configurazione di compilazione e vuoi sostituirlo con Breakpad.

      --dry-run

      Genera i file di simboli, ma non li carica

      Questo flag è utile se vuoi esaminare i contenuti dei file inviati.

      --debug Fornisce informazioni di debug aggiuntive