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

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


‫iOS+‎ (أنظمة Apple الأساسية)

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

Android

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

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

  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. من مربّع الحوار إعدادات الإصدار (Build Settings)، نفِّذ أحد الإجراءات التالية:

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

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

    2. بعد الانتهاء من عملية الإنشاء، يمكنك إنشاء ملف رموز متوافق مع Crashlytics وتحميله إلى خوادم Firebase من خلال تشغيل أمر واجهة سطر الأوامر (CLI) التالي في 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).

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

      الإبلاغ الوصف
      --generator=csym

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

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

      --generator=breakpad

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

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

      --dry-run

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

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

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