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


‫iOS+ (منصات Apple)

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

Android

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

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

  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. أنشئ مشروعك وحمِّل الرموز.

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

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

      • تصديرها إلى مشروع في "استوديو Android" لإنشاء مشروعك

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

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

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

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

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

        • تم إنشاء حزمة APK مباشرةً من داخل Unity — PATH/TO/SYMBOLS هو مسار ملف الرموز المضغوط الذي تم إنشاؤه في دليل جذر المشروع عند انتهاء عملية الإنشاء (على سبيل المثال: myproject/myapp-1.0-v100.symbols.zip).

      عرض الخيارات المتقدّمة لاستخدام أمر Firebase واجهة سطر الأوامر لإنشاء ملف الرموز وتحميله

      Flag الوصف
      --generator=csym

      يستخدم أداة إنشاء ملفات رموز cSYM القديمة بدلاً من أداة الإنشاء التلقائية في Breakpad

      لا يُنصح باستخدامه. ننصح باستخدام أداة إنشاء ملفات رموز Breakpad التلقائية.

      --generator=breakpad

      استخدام أداة إنشاء ملفات رموز Breakpad

      يُرجى العِلم أنّ الإعداد التلقائي لإنشاء ملفات الرموز هو Breakpad. لا تستخدِم هذا الخيار إلا إذا أضفت symbolGenerator { csym() } في إعدادات الإصدار وأردت تجاوزه لاستخدام Breakpad بدلاً من ذلك.

      --dry-run

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

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

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