Ricevi report leggibili sugli arresti anomali nella dashboard di Crashlytics
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
iOS+ (piattaforme Apple)
Per le app per la piattaforma Apple che utilizzano l'SDK Unity 8.2.0+, il plug-in Firebase Unity Editor configura automaticamente il progetto Xcode per caricare i simboli.CrashlyticsScarica l'ultima versione.
Android
Per le app per Android, l'SDK Unity 8.6.1+ include automaticamente
i report sugli arresti anomali dell'NDK, che consentono a Crashlytics di segnalare automaticamente gli arresti anomali di Unity
IL2CPP
su Android.Crashlytics Tuttavia, per visualizzare le tracce dello stack con simboli per gli arresti anomali della libreria nativa nella dashboard Crashlytics, devi caricare le informazioni sui simboli al momento della build utilizzando la CLI Firebase.
Assicurati di utilizzare l'Crashlytics SDK Unity v8.6.1 o versioni successive.
Scarica l'ultima versione.
Configura l'ambiente e il progetto per il caricamento dei simboli:
(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 del puntatore:
Seleziona la casella Android Player Settings > Publishing Settings >
Build > Custom Main Manifest.
Apri il modello di manifest che si trova all'indirizzo
Assets/Plugins/Android/AndroidManifest.xml.
(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" ... />
Crea il progetto e carica i simboli.
Completa questi passaggi ogni volta che crei una build di rilascio o qualsiasi build
per cui vuoi visualizzare le analisi dello stack con simboli nella
console Firebase.
Nella finestra di dialogo Impostazioni di build, esegui una delle seguenti operazioni:
Esporta in un progetto Android Studio per creare il progetto.
Crea il tuo APK direttamente da Unity Editor.
Prima di creare la build, assicurati che la casella di controllo Crea symbols.zip sia
selezionata nella finestra di dialogo Impostazioni build.
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 di Firebase:
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
Hai bisogno di trovare l'ID app Firebase?
Ecco due modi per trovare l'ID app Firebase:
Nel file google-services.json, l'ID app è il valore
mobilesdk_app_id; oppure
Nella console Firebase, vai alle
impostazioni del progetto.
Scorri verso il basso fino alla scheda Le tue app, poi fai clic sull'app Firebase che ti interessa per trovare il relativo ID app.
PATH/TO/SYMBOLS: Il percorso del file dei simboli generato dalla
CLI
Esportato in un progetto Android Studio: PATH/TO/SYMBOLS è la directory unityLibrary/symbols, che viene creata nella root del progetto esportato dopo la creazione dell'app tramite Gradle o Android Studio.
Hai creato l'APK direttamente da Unity. PATH/TO/SYMBOLS è il percorso del file di simboli compresso generato nella directory root del progetto al termine della build (ad esempio: myproject/myapp-1.0-v100.symbols.zip).
Visualizza le opzioni avanzate per l'utilizzo del
comando dell'interfaccia a riga di comando Firebase per la generazione e il caricamento del file di simboli
Bandiera
Descrizione
--generator=csym
Utilizza il generatore di file di simboli cSYM legacy anziché il generatore Breakpad predefinito
Non è consigliato l'utilizzo. 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 della build e vuoi eseguirne l'override per utilizzare
Breakpad.
--dry-run
Genera i file di simboli, ma non li carica
Questo flag è utile se vuoi ispezionare i contenuti dei
file inviati.
[null,null,["Ultimo aggiornamento 2025-08-11 UTC."],[],[],null,["\u003cbr /\u003e\n\niOS+ Android Flutter Unity \n\n\u003cbr /\u003e\n\nBy default, Firebase Crashlytics automatically processes your debug symbol\n(dSYM) files to give you deobfuscated and human-readable crash reports. You\nusually configure this behavior during the initial setup of Crashlytics in\nyour app, specifically by\n[adding a run script](/docs/crashlytics/get-started?platform=ios#set-up-dsym-uploading)\nthat automatically uploads dSYM files during your app's build phase.\n\nUnfortunately, there are a few cases that could cause your automatic dSYM files\nupload to fail. This guide provides some ways to troubleshoot when\nCrashlytics can't locate your app's dSYM files.\n\nMake sure Xcode can automatically process dSYMs and upload the files\n\nWhen setting up Crashlytics in your app, you\n[configured a run script](/docs/crashlytics/get-started?platform=ios#set-up-dsym-uploading)\nto automatically process dSYMs and upload the files.\n\nMake sure that your configuration for the Crashlytics run script is\nup-to-date with the new requirements which started with Xcode 15. If your\nconfiguration isn't up-to-date, you might be getting the following error: \n\n`error: Info.plist Error Unable to process Info.plist at path ...`.\n\nSpecifically, Xcode 15 and later requires that you provide a more complete set\nof file locations. For your Crashlytics run script\n(`firebase-ios-sdk/Crashlytics/run`), make sure that you have the following\nsetup:\n\n1. Click the **Build Phases** tab, and then expand the *Run Script* section.\n\n2. In the *Input Files* section, make sure you have the paths for the locations\n of the following files:\n\n ```\n ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}\n ``` \n\n ```\n ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}\n ``` \n\n ```\n ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\n ``` \n\n ```\n $(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist\n ``` \n\n ```\n $(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)\n ```\n If you have `ENABLE_USER_SCRIPT_SANDBOXING=YES` and `ENABLE_DEBUG_DYLIB=YES` in your project build settings, then include the following: \n\n ```\n ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}.debug.dylib\n ```\n **Understand why the locations of these files are\n needed**\n\n Xcode looks in the specified locations for these input files to ensure\n that the build files are available for the run script. Also, if\n *User Script Sandboxing* is enabled, Xcode only allows the run\n script to access files specified in the *Input Files*.\n - Providing the location of your project's dSYM files enables Crashlytics to process dSYMs.\n - Providing the location of your app's built `GoogleService-Info.plist` file enables Crashlytics to associate the dSYMs with your Firebase app.\n - Providing the location of your app's executable allows the run script to prevent duplicate uploads of the same dSYM. Note that app binaries are *not uploaded*.\n\nCheck if Xcode is producing dSYMs\n\nMore often than not, dSYM files go missing because Xcode simply isn't producing\nthem. When an upload fails, Crashlytics displays a \"Missing dSYM\" alert in\nthe Firebase console. If you get this alert, first check that Xcode is\nproducing the correct dSYM for every build:\n\n1. Open your project in Xcode, and then select the project file in the Xcode\n Navigator.\n\n2. Select your main build target.\n\n3. Open the target's **Build Settings** tab, and then click **All**.\n\n4. Search for `debug information format`.\n\n5. Set **Debug Information Format** to **DWARF with dSYM File** for all\n your build types.\n\n6. Rebuild your app.\n\nYour crash reports should now appear in the\n[Crashlytics dashboard](https://console.firebase.google.com/project/_/crashlytics). If the problem persists or you\nencounter other errors, try [locating your dSYMs](#locate) and\n[uploading them to Crashlytics manually](#upload-dsyms).\n\nLocate your dSYMs on a local machine\n\nRun the following command to display all your dSYMs' UUIDs on your machine and\nsearch for the missing dSYM: \n\n```text\nmdfind -name .dSYM | while read -r line; do dwarfdump -u \"$line\"; done\n```\n\nOnce you find the dSYM, [manually upload it to Crashlytics](#upload-dsyms).\nIf the `mdfind` command doesn't return any results, you can look in the\n`Products` directory where your `.app` lives (by default, the `Products`\ndirectory is located in `Derived Data`). If your app is released to production,\nyou can also look for its dSYM in the `.xcarchive` directory on disk:\n\n1. In Xcode, open the **Organizer** window, and then select your app from the\n list. Xcode displays a list of archives for your project.\n\n2. Control-click an archive to view it in Finder. Control-click it again, and\n then click **Show Package Contents**.\n\n3. Within `.xcarchive` is a dSYMs directory that contains dSYMs generated as\n part of Xcode's archiving process.\n\nUpload your dSYMs\n\nCrashlytics supports multiple ways to upload your dSYMs files, either\n[automatically](#auto-upload-dsyms) or [manually](#manually-upload-dsyms).\n\n*(Recommended)* Automatically process your dSYMs and upload the files\n\nWhen you initially set up Crashlytics, you most likely configured this\nautomatic upload behavior for your app. However, if automatic uploads are\nfailing, [check that your configuration is correct](#check-input-files-setup).\n\nManually upload your dSYM files\n\nIf automatic uploads are failing, you can manually upload your dSYM files using\neither of the following options.\n\n- **Option 1** : Use the console-based \"Drag and Drop\" option to upload a zip\n file containing your dSYM files (go to the\n Firebase console \\\u003e\n [Crashlytics](https://console.firebase.google.com/project/_/crashlytics) \\\u003e\n *dSYMs* tab).\n\n- **Option 2** : Use the `upload-symbols` script that you can call from\n anywhere in your build process to manually upload your dSYM files. To run the\n `upload-symbols` script, use either of the following options:\n\n - **Option A**: Include the following line in your build process:\n\n ```gdscript\n find dSYM_DIRECTORY -name \"*.dSYM\" | xargs -I \\{\\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p PLATFORM \\{\\}\n ```\n - **Option B**: Run the script directly from your terminal:\n\n ```\n /PATH/TO/PODS/DIRECTORY/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p ios /PATH/TO/dSYMs\n ```\n\n For usage notes and additional instructions about this script, run\n `upload-symbols` with the `--help` parameter."]]