Nhận báo cáo sự cố có thể đọc được trên trang tổng quan Crashlytics
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
iOS+ (Nền tảng của Apple)
Đối với các ứng dụng nền tảng Apple sử dụng Crashlytics Unity SDK 8.2.0 trở lên, trình bổ trợ Firebase Unity Editor sẽ tự động định cấu hình dự án Xcode của bạn để tải các biểu tượng lên. Tải phiên bản mới nhất xuống.
Android
Đối với các ứng dụng Android, Crashlytics Unity SDK 8.6.1 trở lên sẽ tự động bao gồm tính năng báo cáo sự cố NDK, cho phép Crashlytics tự động báo cáo các sự cố IL2CPP của Unity trên Android. Tuy nhiên, để xem dấu vết ngăn xếp được biểu thị bằng ký hiệu cho các sự cố thư viện gốc trong trang tổng quan Crashlytics, bạn phải tải thông tin ký hiệu lên tại thời gian tạo bằng cách sử dụng CLI Firebase.
(chỉ dành cho ứng dụng dùng Android API cấp 30 trở lên) Cập nhật mẫu AndroidManifest.xml của ứng dụng để tắt tính năng Gắn thẻ con trỏ:
Đánh dấu vào ô Android Player Settings > Publishing Settings > Build > Custom Main Manifest (Cài đặt trình phát Android > Cài đặt xuất bản > Bản dựng > Tệp kê khai chính tuỳ chỉnh).
Mở mẫu tệp kê khai tại Assets/Plugins/Android/AndroidManifest.xml.
(chỉ dành cho những ứng dụng sử dụng phiên bản SDK trước 8.8.0) Thêm thuộc tính sau vào thẻ ứng dụng: <application android:allowNativeHeapPointerTagging="false" ... />
Tạo dự án và tải biểu tượng lên.
Hoàn tất các bước này mỗi khi bạn tạo bản phát hành hoặc bất kỳ bản dựng nào mà bạn muốn xem dấu vết ngăn xếp được biểu thị bằng ký hiệu trong bảng điều khiển Firebase.
Trong hộp thoại Build Settings (Cài đặt bản dựng), hãy làm theo một trong những cách sau:
Xuất sang dự án Android Studio để tạo dự án; hoặc
Tạo APK ngay trong Trình chỉnh sửa Unity.
Trước khi tạo, hãy nhớ đánh dấu vào hộp Create symbols.zip (Tạo symbols.zip) trong hộp thoại Build Settings (Cài đặt bản dựng).
Sau khi quá trình tạo bản dựng hoàn tất, hãy tạo một tệp biểu tượng tương thích với Crashlytics rồi tải tệp đó lên các máy chủ của Firebase bằng cách chạy lệnh CLI Firebase sau:
FIREBASE_APP_ID: Mã ứng dụng Firebase cho Android (không phải tên gói)
Ví dụ về mã ứng dụng Firebase cho Android: 1:567383003300:android:17104a2ced0c9b9b
Bạn cần tìm Mã ứng dụng Firebase?
Dưới đây là 2 cách để tìm Mã ứng dụng Firebase:
Trong tệp google-services.json, Mã ứng dụng là giá trị mobilesdk_app_id; hoặc
Trong bảng điều khiển Firebase, hãy chuyển đến phần Cài đặt dự án.
Di chuyển xuống thẻ Ứng dụng của bạn, sau đó nhấp vào Ứng dụng Firebase mà bạn muốn để tìm Mã ứng dụng của ứng dụng đó.
PATH/TO/SYMBOLS: Đường dẫn đến tệp biểu tượng do CLI tạo
Được xuất sang một dự án Android Studio – PATH/TO/SYMBOLS là thư mục unityLibrary/symbols, được tạo trong thư mục gốc của dự án đã xuất sau khi bạn tạo ứng dụng thông qua Gradle hoặc Android Studio.
Tạo tệp APK ngay trong Unity – PATH/TO/SYMBOLS là đường dẫn của tệp biểu tượng được nén được tạo trong thư mục gốc của dự án khi bản dựng hoàn tất (ví dụ: myproject/myapp-1.0-v100.symbols.zip).
Xem các lựa chọn nâng cao để sử dụng lệnh CLI Firebase cho việc tạo và tải tệp biểu tượng lên
Cờ
Nội dung mô tả
--generator=csym
Sử dụng trình tạo tệp biểu tượng cSYM cũ thay vì trình tạo Breakpad mặc định
Không nên sử dụng. Bạn nên sử dụng trình tạo tệp biểu tượng Breakpad mặc định.
--generator=breakpad
Sử dụng trình tạo tệp biểu tượng Breakpad
Xin lưu ý rằng mặc định cho việc tạo tệp biểu tượng là Breakpad.
Chỉ sử dụng cờ này nếu bạn đã thêm symbolGenerator { csym() } vào cấu hình bản dựng và bạn muốn ghi đè cờ này để sử dụng Breakpad.
--dry-run
Tạo tệp biểu tượng nhưng không tải tệp lên
Cờ này sẽ hữu ích nếu bạn muốn kiểm tra nội dung của các tệp được gửi.
[null,null,["Cập nhật lần gần đây nhất: 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."]]