الحصول على تقارير أعطال قابلة للقراءة في لوحة بيانات 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" تلقائيًا ميزة إعداد تقارير الأعطال في حزمة تطوير البرامج (SDK) التي تسمح لخدمة "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. من مربّع الحوار إعدادات الإصدار، نفِّذ أحد الإجراءات التالية:

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

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

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

      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).

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

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

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

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

      --generator=breakpad

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

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

      --dry-run

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

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

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