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

اختيار المنصة: iOS+ Android Flutter Unity


‫iOS+ (منصات Apple)

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

Android

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

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

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

    1. اتّبِع التعليمات لتثبيت CLIFirebase.

      إذا سبق لك تثبيت واجهة سطر الأوامر (CLI)، تأكَّد من التحديث إلى أحدث إصدار.

      .
    2. (للتطبيقات التي تستخدم مستوى واجهة برمجة التطبيقات 30 أو إصدارًا أحدث من Android فقط) عدِّل نموذج AndroidManifest.xml لتطبيقك لإيقاف ميزة Pointer Tagging:

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

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

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

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

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

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

      • يمكنك تصدير مشروع إلى مشروع استوديو Android لإنشائه.

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

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

      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: مسار ملف الرموز الذي أنشأته واجهة سطر الأوامر ( CLI)

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

        • تم إنشاء حزمة 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 يقدّم معلومات إضافية عن تصحيح الأخطاء