الحصول على تقارير أعطال قابلة للقراءة في لوحة بيانات Crashlytics (Unity)

اختيار النظام الأساسي: iOS+ Android Flutter Unity


‫iOS+ (منصات Apple)

بالنسبة إلى تطبيقات منصة Apple التي تستخدم الإصدار 8.2.0 أو إصدارًا أحدث من Crashlytics Unity SDK، يضبط المكوّن الإضافي Firebase Unity Editor مشروع Xcode تلقائيًا لتحميل الرموز. تنزيل أحدث إصدار

Android

بالنسبة إلى تطبيقات Android، تتضمّن Crashlytics حزمة تطوير البرامج (SDK) من Unity الإصدار 8.6.1 أو الإصدارات الأحدث تلقائيًا ميزة إعداد تقارير الأعطال في NDK، ما يتيح Crashlytics إعداد تقارير تلقائية عن الأعطال في IL2CPP من Unity على Android. ومع ذلك، لعرض عمليات تتبُّع تسلسل استدعاء الدوال البرمجية التي تم ترميزها لتعطُّل مكتبة مجمّعة من رموز برمجية أصلية في لوحة بيانات Crashlytics، يجب تحميل معلومات الرموز في مدّة التصميم باستخدام واجهة سطر الأوامر Firebase.

  1. تأكَّد من استخدام الإصدار 8.6.1 أو إصدار أحدث من حزمة تطوير البرامج (SDK) في Unity‏ (Crashlytics Unity SDK). تنزيل أحدث إصدار

  2. إعداد البيئة والمشروع لتحميل الرموز:

    1. اتّبِع التعليمات لتثبيت واجهة سطر الأوامر Firebase.

      إذا سبق لك تثبيت واجهة سطر الأوامر، احرص على تحديثها إلى أحدث إصدار.

    2. (للتطبيقات التي تستخدم المستوى 30 أو أعلى من واجهة برمجة التطبيقات Android) عدِّل نموذج AndroidManifest.xml لإيقاف ميزة "وضع علامات على المؤشر" باتّباع الخطوات التالية:

      1. ضَع علامة في المربّع بجانب إعدادات مشغّل Android > إعدادات النشر > الإنشاء > ملف البيان الرئيسي المخصّص.

      2. افتح نموذج البيان في Assets/Plugins/Android/AndroidManifest.xml.

      3. (للتطبيقات التي تستخدم إصدارًا من حزمة SDK قبل 8.8.0 فقط) أضِف السمة التالية إلى علامة التطبيق: <application android:allowNativeHeapPointerTagging="false" ... />

  3. أنشئ مشروعك وحمِّل الرموز.

    أكمِل هذه الخطوات في كل مرة تنشئ فيها بنية الإصدار أو أي إصدار تريد أن تظهر فيه عمليات تتبُّع تسلسل استدعاء الدوال البرمجية مع رموز في لوحة بيانات Crashlytics.

    1. من مربّع الحوار إعدادات الإنشاء، نفِّذ أحد الإجراءات التالية:

      • يمكنك التصدير إلى مشروع &quot;استوديو Android&quot; لإنشاء مشروعك.

      • إنشاء حِزمة APK مباشرةً من Unity Editor
        قبل الإنشاء، تأكَّد من وضع علامة في مربّع الاختيار إنشاء ملف symbols.zip في مربّع الحوار إعدادات الإنشاء.

    2. بعد انتهاء عملية الإنشاء، أنشئ ملف رموز متوافقًا مع Crashlytics وحمِّله إلى خوادم Firebase من خلال تنفيذ أمر Firebase CLI التالي:

      firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLS
      • FIREBASE_APP_ID: رقم تعريف تطبيق Android على Firebase (وليس اسم الحزمة)
        مثال على رقم تعريف تطبيق Android على Firebase: 1:567383003300:android:17104a2ced0c9b9b

      • PATH/TO/SYMBOLS: مسار ملف الرموز الذي تم إنشاؤه بواسطة واجهة سطر الأوامر

        • تم تصديرها إلى مشروع &quot;استوديو Android&quot; — PATH/TO/SYMBOLS هو دليل unityLibrary/symbols، الذي يتم إنشاؤه في جذر المشروع الذي تم تصديره بعد إنشاء التطبيق باستخدام Gradle أو &quot;استوديو Android&quot;.

        • تم إنشاء حزمة 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

      إنشاء ملفات الرموز بدون تحميلها

      تكون هذه العلامة مفيدة إذا أردت فحص محتوى الملفات التي يتم إرسالها.

      --debug توفير معلومات إضافية لتصحيح الأخطاء