الحصول على تقارير أعطال قابلة للقراءة في لوحة بيانات 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 Player Settings > Publishing Settings > Build > Custom Main Manifest.

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