گزارشهای خرابی قابل خواندن را در داشبورد Crashlytics دریافت کنید
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
iOS+ (پلتفرم های اپل)
برای برنامههای پلتفرم اپل که از Crashlytics Unity SDK 8.2.0+ استفاده میکنند، افزونه Firebase Unity Editor بهطور خودکار پروژه Xcode شما را برای آپلود نمادها پیکربندی میکند. آخرین نسخه را دانلود کنید.
اندروید
برای برنامههای اندروید، Crashlytics Unity SDK 8.6.1+ بهطور خودکار شامل گزارش خرابی NDK میشود که Crashlytics اجازه میدهد تا به طور خودکار خرابیهای Unity IL2CPP را در Android گزارش کند. با این حال، برای دیدن ردپای نمادین پشته برای خرابیهای کتابخانه بومی در داشبورد Crashlytics ، باید اطلاعات نماد را در زمان ساخت با استفاده از Firebase CLI آپلود کنید.
(فقط برای برنامههایی که از Android API سطح 30 و بالاتر استفاده میکنند) الگوی AndroidManifest.xml برنامه خود را برای غیرفعال کردن Pointer Tagging بهروزرسانی کنید:
کادر تنظیمات Player Android > Publishing Settings > Build > Custom Main Manifest را علامت بزنید.
الگوی مانیفست واقع در Assets/Plugins/Android/AndroidManifest.xml را باز کنید.
(فقط برای برنامه هایی که از نسخه SDK قبل از 8.8.0 استفاده می کنند) ویژگی زیر را به تگ برنامه اضافه کنید:<application android:allowNativeHeapPointerTagging="false" ... />
پروژه خود را بسازید و نمادها را آپلود کنید.
این مراحل را هر بار که یک نسخه انتشار یا هر بیلدی ایجاد میکنید که میخواهید نشانههای پشته نمادین آن را در کنسول Firebase ببینید، تکمیل کنید.
از کادر گفتگوی Build Settings یکی از موارد زیر را انجام دهید:
برای ساخت پروژه خود به یک پروژه Android Studio صادر کنید. یا
APK خود را مستقیماً از ویرایشگر Unity بسازید. قبل از ساخت، مطمئن شوید که چک باکس Create symbols.zip در گفتگوی تنظیمات ساخت علامت زده شده باشد.
پس از اتمام ساخت، یک فایل نماد سازگار Crashlytics ایجاد کنید و با اجرای دستور Firebase CLI زیر آن را در سرورهای Firebase آپلود کنید:
FIREBASE_APP_ID : شناسه برنامه Android Firebase شما (نه نام بسته شما) ID برنامه اندروید Firebase مثال: 1:567383003300:android:17104a2ced0c9b9b
آیا باید شناسه برنامه Firebase خود را پیدا کنید؟
در اینجا دو روش برای یافتن شناسه برنامه Firebase وجود دارد:
در فایل google-services.json ، شناسه برنامه شما مقدار mobilesdk_app_id است. یا
در کنسول Firebase ، به تنظیمات پروژه خود بروید. به سمت پایین به کارت برنامه های شما بروید، سپس روی برنامه Firebase مورد نظر کلیک کنید تا شناسه برنامه آن را پیدا کنید.
PATH/TO/SYMBOLS : مسیر فایل نماد تولید شده توسط CLI
صادر شده به یک پروژه Android Studio - PATH/TO/SYMBOLS دایرکتوری unityLibrary/symbols است که پس از ساختن برنامه از طریق Gradle یا Android Studio در ریشه پروژه صادر شده ایجاد می شود.
APK را مستقیماً از داخل Unity ساخته شده است - PATH/TO/SYMBOLS مسیر فایل نماد زیپ شده است که پس از اتمام ساخت شما در دایرکتوری ریشه پروژه ایجاد می شود (به عنوان مثال:myproject/myapp-1.0-v100.symbols.zip ).
گزینه های پیشرفته برای استفاده از فرمان Firebase CLI برای تولید و آپلود فایل نماد را مشاهده کنید
پرچم
توضیحات
--generator=csym
از تولیدکننده فایل نماد cSYM قدیمی به جای تولیدکننده پیشفرض Breakpad استفاده میکند
برای استفاده توصیه نمی شود. توصیه می کنیم از تولید کننده فایل نماد Breakpad پیش فرض استفاده کنید.
--generator=breakpad
از تولید کننده فایل نماد Breakpad استفاده می کند
توجه داشته باشید که پیش فرض برای تولید فایل نماد، Breakpad است. فقط در صورتی از این پرچم استفاده کنید که اضافه کرده ایدsymbolGenerator { csym() } در پیکربندی ساخت شماست و میخواهید آن را نادیده بگیرید تا به جای آن از Breakpad استفاده کنید.
--dry-run
فایل های نماد را تولید می کند اما آنها را آپلود نمی کند
اگر می خواهید محتوای فایل های ارسال شده را بررسی کنید، این پرچم مفید است.
تاریخ آخرین بهروزرسانی 2025-08-11 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-11 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Get readable crash reports in the Crashlytics dashboard\n\n\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--------------------------------------------------------------------\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---------------------------------\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------------------------------------\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-----------------\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\n### Manually 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."]]