Ottieni rapporti sugli arresti anomali leggibili nella dashboard di Crashlytics

iOS+ (piattaforme Apple)

Per le app della piattaforma Apple che utilizzano Crashlytics Unity SDK 8.2.0+, il plug-in Firebase Unity Editor configura automaticamente il progetto Xcode per caricare i simboli. Scarica la versione più recente.

Androide

Per le app Android, Crashlytics Unity SDK 8.6.1+ include automaticamente la segnalazione degli arresti anomali di NDK, che consente a Crashlytics di segnalare automaticamente gli arresti anomali di Unity IL2CPP su Android. Tuttavia, per visualizzare le analisi dello stack simboliche per gli arresti anomali della libreria nativa nella dashboard di Crashlytics, devi caricare le informazioni sui simboli in fase di creazione utilizzando la CLI di Firebase.

  1. Assicurati di utilizzare Crashlytics Unity SDK v8.6.1 o versione successiva. Scarica la versione più recente.

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

    1. Segui le istruzioni per installare la CLI Firebase .

      Se hai già installato la CLI, assicurati di aggiornarla alla versione più recente .

    2. (solo per app che utilizzano il livello API Android 30+) Aggiorna il modello AndroidManifest.xml della tua app per disabilitare il tagging del puntatore:

      1. Seleziona la casella Impostazioni lettore Android > Impostazioni di pubblicazione > Compila > Manifesto principale personalizzato .

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

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

  3. Costruisci il tuo progetto e carica i simboli.

    Completa questi passaggi ogni volta che crei una build di rilascio o qualsiasi build per la quale desideri visualizzare analisi dello stack simboliche nella console Firebase.

    1. Dalla finestra di dialogo Impostazioni di creazione , esegui una delle seguenti operazioni:

      • Esporta in un progetto Android Studio per creare il tuo progetto; O

      • Crea il tuo APK direttamente dall'editor Unity.
        Prima di creare, assicurati che la casella di controllo Crea simboli.zip sia selezionata nella finestra di dialogo Impostazioni di creazione .

    2. Una volta terminata la creazione, genera un file di simboli compatibile con Crashlytics e caricalo sui server Firebase eseguendo il seguente comando CLI di Firebase:

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

      • PATH/TO/SYMBOLS : il percorso del file di simboli generato dalla CLI

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

        • Crea l'APK direttamente da Unity: PATH/TO/SYMBOLS è il percorso del file di simboli compresso 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 comando CLI di Firebase per la generazione e il caricamento di file di simboli

      Bandiera Descrizione
      --generator=csym

      Utilizza il generatore di file di simboli cSYM legacy invece del generatore Breakpad predefinito

      Non raccomandato per l'uso. Si consiglia 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 del file di simboli è Breakpad. Utilizza questo flag solo se lo hai aggiunto symbolGenerator { csym() } nella configurazione della build e desideri sovrascriverlo per utilizzare invece Breakpad.

      --dry-run

      Genera i file dei simboli ma non li carica

      Questo flag è utile se vuoi controllare il contenuto dei file che vengono inviati.

      --debug Fornisce ulteriori informazioni di debug