إذا كنت بصدد بدء استخدام Performance Monitoring
(iOS+ |
Android |
الويب)، يمكن أن تساعدك نصائح تحديد المشاكل وحلّها التالية في معالجة المشاكل التي تتضمّن رصد Firebase لحزمة SDK أو عرض أول بيانات أداء في وحدة تحكّم Firebase.
تمت إضافة حزمة SDK إلى التطبيق، ولكن لا يزال يطلب منك إضافة حزمة SDK في Play Console
يمكن أن يرصد Firebase ما إذا كنت قد أضفت حزمة تطوير البرامج Performance Monitoring إلى تطبيقك بنجاح
عندما يتلقّى معلومات الأحداث (مثل تفاعلات التطبيق) من تطبيقك.
في غضون 10 دقائق من بدء تشغيل تطبيقك، تعرض عادةً لوحة بياناتFirebase رسالة "تم رصد حزمة تطوير البرامج". بعد ذلك، في غضون 30 دقيقة، تعرض لوحة البيانات البيانات الأولية المعالَجة.
إذا مرّ أكثر من 10 دقائق منذ إضافة أحدث إصدار من حزمة SDK إلى تطبيقك، ولم يظهر أي تغيير، راجِع رسائل السجلّ للتأكّد من أنّ Performance Monitoring يسجّل الأحداث. جرِّب خطوات تحديد المشاكل وحلّها المناسبة كما هو موضّح أدناه لتحديد المشاكل وحلّها في رسالة تأخُّر رصد حزمة SDK.
تسجيل التطبيق للأحداث: خطوات تحديد المشاكل وحلّها
إذا كنت لا تزال في مرحلة التطوير على الجهاز المحلي، جرِّب إنشاء المزيد من الأحداث لجمع البيانات:
واصِل تطوير تطبيقك باستخدام محاكي أو جهاز اختباري.
يمكنك إنشاء أحداث من خلال التبديل بين تشغيل تطبيقك في الخلفية وفي المقدّمة عدة مرات، والتفاعل مع تطبيقك من خلال التنقّل بين الشاشات، و/أو تشغيل طلبات الشبكة.
تأكَّد من أنّه تمّت إضافة ملف إعداد Firebase (Google-Service-Info.plist) بشكل صحيح إلى تطبيقك وأنّك لم تعدّل الملف.
على وجه التحديد، تحقَّق مما يلي:
لا تتم إضافة أحرف إضافية إلى اسم ملف الإعداد، مثل (2).
يجب أن يكون ملف الإعداد في جذر مشروع XCode وأن تتم إضافته إلى الأهداف الصحيحة.
يجب أن يكون رقم تعريف تطبيق Apple على Firebase (GOOGLE_APP_ID) المُدرَج في ملف الإعداد صحيحًا لتطبيقك. يمكنك العثور على رقم تعريف تطبيقك على Firebase في بطاقة تطبيقاتك ضمن settingsإعدادات المشروع.
إذا بدا أنّ هناك خطأ في ملف الإعداد في تطبيقك، جرِّب ما يلي:
احذف ملف الإعداد المتوفّر حاليًا في تطبيقك.
اتّبِع هذه التعليمات لتنزيل ملف إعداد جديد وإضافته إلى تطبيقك على Apple.
إذا كانت حزمة SDK تسجّل الأحداث ويبدو أنّ كل شيء تم إعداده بشكل صحيح، ولكنّك لا تزال لا ترى رسالة رصد حزمة SDK أو البيانات المعالَجة (بعد ساعتين)، يُرجى التواصل مع فريق دعم Firebase.
إذا كان التطبيق لا يسجّل الأحداث:
خطوات تحديد المشاكل وحلّها
تأكَّد من أنّ حزمة تطوير البرامج (SDK) الخاصة بـ Performance Monitoringغير
مفعّلة
من خلال أيّ من العلامتَين التاليتَين في ملف Info.plist:
firebase_performance_collection_enabled
firebase_performance_collection_deactivated
تأكَّد من أنّ Performance Monitoringغير مفعّل في وقت التشغيل
(Swift
|
Obj-C).
تُشير أداة SDK Console إلى أنّه تم رصد حزمة SDK، ولكن لا يتم عرض أي بيانات
تعالج Performance Monitoring بيانات أحداث الأداء قبل عرضها في لوحة بيانات الأداء.
إذا مرّ أكثر من 24 ساعة على ظهور الرسالة "تم رصد حزمة SDK"،
ولم تظهر لك أي بيانات، راجِع لوحة بيانات حالة Firebase لمعرفة ما إذا كان هناك انقطاع معروف في الخدمة. إذا لم يكن هناك انقطاع، يُرجى التواصل مع فريق دعم Firebase.
الإجراءات العامّة لتحديد المشاكل وحلّها
إذا أضفت حزمة SDK بنجاح وكنت تستخدم Performance Monitoring في تطبيقك، يمكن أن تساعدك نصائح تحديد المشاكل وحلّها التالية في معالجة المشاكل العامة التي تتضمّن ميزات وأدوات Performance Monitoring.
إذا كانت بيانات تتبُّع عرض الشاشة غير متوفّرة، جرِّب الخطوات التالية لتحديد المشاكل وحلّها:
تأكَّد من استخدام أحدث إصدار من حزمة تطوير البرامج (SDK) لمنصات Apple (الإصدار 12.15.0). لا تتوفّر عمليات تتبُّع عرض الشاشة إلا مع الإصدار 5.0.0 أو إصدار أحدث.
لا ينشئ Performance Monitoring عمليات تتبُّع لعرض الشاشة لوحدات التحكّم في عرض الحاوية (مثل UINavigationController وUITabBarController). إذا كانت البيانات غير متوفّرة فقط لهذه الشاشات، فهذا السلوك متوقّع.
لوحة بيانات الأداء لا تتضمّن بيانات التتبُّع المخصّصة
هل تظهر لك بيانات الأداء لعمليات التتبُّع التي يتم جمعها تلقائيًا ولكن ليس لعمليات تتبُّع الرموز المخصّصة؟ يُرجى اتّباع الخطوات التالية لتحديد المشاكل وحلّها:
تحقَّق من إعدادات عمليات تتبُّع الرموز المخصّصة التي تمّت إضافتها باستخدام
Trace API،
خاصةً ما يلي:
يجب أن تستوفي أسماء عمليات تتبُّع الرموز المخصّصة والمقاييس المخصّصة المتطلبات التالية: ألا تتضمّن مسافات بيضاء في البداية أو النهاية، وألا تبدأ بشرطة سفلية (_)، وألا يتجاوز طولها 32 حرفًا.
يجب بدء جميع عمليات التتبُّع وإيقافها، وإلا لن يتم تسجيل أي عملية تتبُّع لم يتم بدؤها أو إيقافها أو تم إيقافها قبل بدئها.
راجِع رسائل السجلّ للتأكّد من أنّ Performance Monitoring يسجّل عمليات التتبُّع المتوقّعة للرموز المخصّصة.
إذا كان Performance Monitoring يسجّل الأحداث، ولكن لم يتم عرض أي بيانات بعد مرور 24 ساعة، يُرجى التواصل مع فريق دعم Firebase.
لوحة بيانات الأداء لا تتضمّن بيانات طلبات الشبكة
إذا كانت بيانات طلبات الشبكة غير متوفّرة، جرِّب الخطوات التالية لتحديد المشاكل وحلّها:
استنادًا إلى سلوك الرمز ومكتبات الشبكات التي يستخدمها الرمز، قد لا يرصد Performance Monitoring سوى طلبات الشبكة التي تم إكمالها. وهذا يعني أنّه قد لا يتم رصد اتصالات HTTP/S التي يتم تركها مفتوحة.
لا يسجّل Performance Monitoring طلبات الشبكة التي تتضمّن عناوين Content-Type غير صالحة، ولكن سيتم قبول طلبات الشبكة التي لا تتضمّن عناوين Content-Type.
لا يتم تجميع بيانات طلبات الشبكة على النحو المتوقّع
ماذا حدث لقسم "أبرز المشاكل" في بطاقة "الأداء" على "الصفحة الرئيسية للمشروع"؟
استبدلنا أهم المشاكل بـ التنبيهات الأخيرة في إطار متابعة طرحنا الأخير للتنبيهات التي تُرسل إليك تلقائيًا إشعارًا عند تجاوز الحدود التي حدّدتها. تم إيقاف المشاكل نهائيًا
واستبدالها بالتنبيهات.
تؤدي أداة اختيار التطبيقات في أعلى بطاقة "الأداء" إلى فلترة إدخالات التنبيهات ضمن التنبيهات الأخيرة، ولا يتم عرض سوى أحدث ثلاثة تنبيهات للتطبيقات المحدّدة.
ماذا حدث لإمكانية ضبط الحدود الدنيا للمشاكل في وحدة التحكّم؟
تتيح Performance Monitoring تلقّي تنبيهات بشأن المقاييس التي تتجاوز الحدود المحدّدة. ولتجنُّب حدوث أي التباس مع هذه الحدود القابلة للضبط لمقاييس الأداء، أزلنا إمكانية ضبط الحدود للمشاكل.
ماذا حدث لمعلومات "التفاصيل والمقاييس" في وحدة تحكّم Firebase؟
استبدلنا صفحتَي "التفاصيل" و"المقاييس" بواجهة مستخدم مركزية جديدة أعيد تصميمها لتحسين طريقة تحديد المشاكل وحلّها. توفّر واجهة المستخدم الجديدة هذه لتحديد المشاكل وحلّها الوظائف الأساسية نفسها التي كانت توفّرها صفحتَي "التفاصيل" و"المقاييس". لمعرفة المزيد عن تحديد المشاكل وحلّها، اطّلِع على عرض المزيد من البيانات لتتبُّع معيّن.
لماذا لا يكون عدد العيّنات كما أتوقّع؟
يجمع تطبيق Performance Monitoring بيانات الأداء من أجهزة المستخدمين التي تستخدم تطبيقك. إذا كان تطبيقك يتضمّن عددًا كبيرًا من المستخدمين أو إذا كان التطبيق ينشئ قدرًا كبيرًا من نشاط الأداء، قد تحدّ Performance Monitoring من جمع البيانات إلى مجموعة فرعية من الأجهزة لتقليل عدد الأحداث التي تتم معالجتها. هذه الحدود مرتفعة بما يكفي لضمان أنّ قيم المقاييس تظل معبّرة عن تجربة المستخدم في تطبيقك، حتى مع تسجيل عدد أقل من الأحداث.
لإدارة حجم البيانات التي نجمعها، تستخدم Performance Monitoring خيارات أخذ العيّنات التالية:
الحدّ من معدّل نقل البيانات على الجهاز فقط: لمنع الجهاز من إرسال دفعات مفاجئة من عمليات التتبُّع، نضع حدًا لعدد عمليات تتبُّع الرموز وطلبات الشبكة التي يتم إرسالها من الجهاز، وهو 300 حدث كل 10 دقائق. ويحمي هذا الإجراء الجهاز من عمليات القياس المكرّرة التي يمكن أن ترسل كميات كبيرة من بيانات الأداء، كما يمنع جهازًا واحدًا من تشويه قياسات الأداء.
أخذ العيّنات الديناميكي: تجمع Performance Monitoring عددًا محدودًا من عمليات تتبُّع الرموز وعمليات تتبُّع طلبات الشبكة لكل تطبيق يوميًا على مستوى جميع مستخدمي التطبيق. يتم استرداد معدّل أخذ العيّنات الديناميكي على الأجهزة (باستخدام Firebase Remote Config) لتحديد ما إذا كان يجب أن يسجّل جهاز عشوائي عمليات تتبُّع ويرسلها. لا يرسل الجهاز الذي لم يتم اختياره لأخذ عينات أي أحداث. معدّل أخذ العيّنات الديناميكي خاص بالتطبيق ويتم تعديله لضمان بقاء الحجم الإجمالي للبيانات التي يتم جمعها أقل من الحدّ الأقصى.
تحصل المشاريع التي فعّلت ميزة دمج BigQuery على حدّ أعلى لعدد عمليات تتبُّع طلبات الشبكة.
ترسل جلسات المستخدمين بيانات إضافية ومفصّلة من جهاز المستخدم، ما يتطلّب المزيد من الموارد لتسجيل البيانات وإرسالها. للحدّ من تأثير جلسات المستخدمين، قد تفرض Performance Monitoring أيضًا قيودًا على عدد الجلسات.
الحدّ من عدد مرات الظهور من جهة الخادم: لضمان عدم تجاوز التطبيقات الحدّ الأقصى لأخذ العيّنات، قد تستخدم Performance Monitoring أخذ العيّنات من جهة الخادم لإيقاف بعض الأحداث التي تم تلقّيها من الأجهزة. على الرغم من أنّ هذا النوع من الحدّ لا يغيّر فعالية مقاييسنا، إلا أنّه قد يتسبّب في حدوث تغييرات طفيفة في الأنماط، بما في ذلك ما يلي:
يمكن أن يختلف عدد عمليات التتبُّع عن عدد المرّات التي تم فيها تنفيذ جزء من الرمز.
قد يحتوي كل تتبُّع مرتبط ارتباطًا وثيقًا في الرمز على عدد مختلف من العيّنات.
ماذا حدث لعلامة التبويب المشاكل في وحدة التحكّم؟
لقد استبدلنا علامة التبويب "المشاكل" بميزة "التنبيهات" التي
تُعلمك تلقائيًا عند تجاوز الحدود التي حدّدتها. لن تحتاج بعد الآن إلى التحقّق يدويًا من Firebase في وحدة التحكّم لتحديد حالة الحدّ. للتعرّف على ميزة "التنبيهات"، راجِع مقالة إعداد تنبيهات بشأن مشاكل الأداء.
ماذا حدث لعلامتَي التبويب على الجهاز والشبكة في وحدة التحكّم؟
كيف يمكنني عرض عمليات التتبُّع التي تم إجراؤها على هذه الصفحات؟
أعدنا تصميم قسم Performance Monitoring في وحدة تحكّم Firebase لكي تعرض علامة التبويب لوحة البيانات مقاييسك الرئيسية وجميع عمليات التتبُّع في مكان واحد. وفي إطار عملية إعادة التصميم، أزلنا صفحتَي على الجهاز والشبكة.
يحتوي جدول عمليات التتبُّع في أسفل علامة التبويب لوحة البيانات على المعلومات نفسها التي تعرضها علامتا التبويب على الجهاز والشبكة، ولكن مع بعض الميزات الإضافية، بما في ذلك إمكانية ترتيب عمليات التتبُّع حسب النسبة المئوية للتغيير في مقياس معيّن. لعرض جميع المقاييس والبيانات الخاصة بتتبُّع معيّن، انقر على اسم التتبُّع في جدول عمليات التتبُّع.
يمكنك الاطّلاع على عمليات التتبُّع في علامات التبويب الفرعية التالية من جدول عمليات التتبُّع:
عمليات تتبُّع طلبات الشبكة (الجاهزة والمخصّصة) — علامة التبويب الفرعية طلبات الشبكة
عمليات التتبُّع المخصّصة للرموز البرمجية — علامة التبويب الفرعية عمليات التتبُّع المخصّصة
عمليات التتبُّع لبدء التطبيق وتشغيله في المقدّمة والخلفية: علامة التبويب الفرعية عمليات التتبُّع المخصّصة
عمليات تتبُّع عرض الشاشة — علامة التبويب الفرعية عرض الشاشة
عمليات تتبُّع تحميل الصفحة — علامة التبويب الفرعية تحميل الصفحة
للحصول على تفاصيل حول جدول عمليات التتبُّع وعرض المقاييس والبيانات، انتقِل إلى صفحة نظرة عامة على وحدة التحكّم
(iOS+ |
Android |
الويب).
لماذا لا يتطابق عدد اللقطات البطيئة والمجمّدة مع ما توقعته؟
يتم احتساب لقطات العرض البطيء واللقطات المجمدة بافتراض أنّ معدّل تحديث الجهاز هو 60 هرتز. إذا كان معدّل تحديث الجهاز أقل من 60 هرتز، سيستغرق عرض كل لقطة وقتًا أطول لأنّه يتم عرض عدد أقل من اللقطات في الثانية.
يمكن أن تؤدي أوقات العرض الأبطأ إلى تسجيل المزيد من اللقطات البطيئة أو المجمدة، لأنّه سيتم عرض المزيد من اللقطات بشكل أبطأ أو ستتوقف. ومع ذلك، إذا كان معدّل تحديث الجهاز أعلى من 60 هرتز، سيكون وقت عرض كل لقطة أسرع.
ويمكن أن يؤدي ذلك إلى تسجيل عدد أقل من اللقطات البطيئة أو المجمدة. هذه القيود الحالية في حزمة تطوير البرامج (SDK) الخاصة بـ Performance Monitoring.
يستغرق تصدير بيانات Performance Monitoring إلى BigQuery وقتًا أطول من المتوقّع. هل هي ليست في الوقت الفعلي؟
إذا فعّلت عملية الربط مع BigQuery في Firebase Performance Monitoring، سيتم تصدير بياناتك إلى BigQuery بعد 12 إلى 24 ساعة من نهاية اليوم (بتوقيت المحيط الهادئ).
على سبيل المثال، ستكون بيانات 19 أبريل متاحة في BigQuery في 20 أبريل بين الساعة 12:00 ظهرًا ومنتصف الليل (جميع التواريخ والأوقات بتوقيت المحيط الهادئ).
كم عدد أنماط عناوين URL المخصّصة التي يمكنني إنشاؤها؟
يمكنك إنشاء ما يصل إلى 400 نمط عنوان URL مخصّص إجمالاً لكل تطبيق، وما يصل إلى 100 نمط عنوان URL مخصّص لكل نطاق لهذا التطبيق.
معالجة البيانات وعرضها في الوقت الفعلي التقريبي
ما المقصود ببيانات الأداء "في الوقت الفعلي التقريبي"؟
تعالج Firebase Performance Monitoring بيانات الأداء التي يتم جمعها فور ورودها، ما يؤدي إلى عرض البيانات في الوقت الفعلي التقريبي في وحدة تحكّم Firebase. يتم عرض البيانات المعالَجة في وحدة التحكّم في غضون بضع دقائق من جمعها، ومن هنا جاء مصطلح "الوقت الفعلي التقريبي".
كيف يمكنني الحصول على بيانات أداء في الوقت الفعلي التقريبي لتطبيقي؟
للاستفادة من ميزة معالجة البيانات في الوقت الفعلي تقريبًا، ما عليك سوى التأكّد من أنّ تطبيقك يستخدم إصدارًا من حزمة تطوير البرامج (SDK) Performance Monitoring متوافقًا مع ميزة معالجة البيانات في الوقت الفعلي.
في ما يلي إصدارات حزمة تطوير البرامج (SDK) المتوافقة مع ميزة "الوقت الفعلي":
iOS: الإصدار 7.3.0 أو إصدار أحدث
tvOS: الإصدار 8.9.0 أو إصدار أحدث
Android: الإصدار 19.0.10 أو إصدار أحدث (أو Firebase Android BoM الإصدار 26.1.0 أو إصدار أحدث)
الويب: الإصدار 7.14.0 أو إصدار أحدث
يُرجى العِلم أنّنا ننصح دائمًا باستخدام أحدث إصدار من حزمة SDK، ولكن أي إصدار مُدرَج أعلاه سيتيح لـ Performance Monitoring معالجة بياناتك في الوقت الفعلي تقريبًا.
ما هي إصدارات حزمة تطوير البرامج (SDK) من Performance Monitoring التي تُعدّ متوافقة مع التفاعل في الوقت الفعلي؟
في ما يلي إصدارات حزمة تطوير البرامج (SDK) المتوافقة مع معالجة البيانات في الوقت الفعلي:
iOS: الإصدار 7.3.0 أو إصدار أحدث
tvOS: الإصدار 8.9.0 أو إصدار أحدث
Android: الإصدار 19.0.10 أو إصدار أحدث (أو Firebase Android BoM الإصدار 26.1.0 أو إصدار أحدث)
الويب: الإصدار 7.14.0 أو إصدار أحدث
يُرجى العِلم أنّنا ننصح دائمًا باستخدام أحدث إصدار من حزمة SDK، ولكن أي إصدار مُدرَج أعلاه سيتيح لـ Performance Monitoring معالجة بياناتك في الوقت الفعلي تقريبًا.
ماذا يحدث إذا لم أُحدِّث تطبيقي لاستخدام إصدار متوافق مع ميزة "المشاركة المباشرة" من حزمة تطوير البرامج (SDK)؟
إذا كان تطبيقك لا يستخدم إصدارًا من حزمة SDK متوافقًا مع ميزة "الوقت الفعلي"، سيظل بإمكانك الاطّلاع على جميع بيانات أداء تطبيقك في وحدة تحكّم Firebase. ومع ذلك، سيتأخر عرض بيانات الأداء لمدة 36 ساعة تقريبًا من وقت جمعها.
لقد حدّثتُ إلى إصدار متوافق من حزمة تطوير البرامج (SDK) في الوقت الفعلي، ولكن بعض المستخدمين ما زالوا يستخدمون إصدارات قديمة من تطبيقي. هل سأستمر في رؤية بيانات الأداء الخاصة بهم في وحدة تحكّم Firebase؟
نعم. بغض النظر عن إصدار حزمة SDK الذي يستخدمه أحد مثيلات التطبيق، ستظهر لك بيانات الأداء من جميع المستخدمين.
ومع ذلك، إذا كنت تبحث عن بيانات حديثة (مرّ عليها أقل من 36 ساعة تقريبًا)،
ستكون البيانات المعروضة مستمَدة من مستخدمي مثيلات التطبيق الذين يستخدمون إصدارًا من حزمة SDK متوافقًا مع ميزة "الوقت الفعلي". في المقابل، تتضمّن البيانات غير الحديثة بيانات الأداء من جميع إصدارات تطبيقك.
لماذا لا تظهر لي بيانات الأداء في الوقت الفعلي؟
لعرض بيانات الأداء في الوقت الفعلي، تأكَّد من أنّ تطبيقك يستخدم
Performance Monitoring إصدارًا من حزمة SDK متوافقًا مع معالجة البيانات في الوقت الفعلي.
iOS: الإصدار 7.3.0 أو إصدار أحدث
tvOS: الإصدار 8.9.0 أو إصدار أحدث
Android: الإصدار 19.0.10 أو إصدار أحدث (أو Firebase Android BoM الإصدار 26.1.0 أو إصدار أحدث)
الويب: الإصدار 7.14.0 أو إصدار أحدث
يُرجى العِلم أنّنا ننصح دائمًا باستخدام أحدث إصدار من حزمة SDK، ولكن أي إصدار مُدرَج أعلاه سيتيح لـ Performance Monitoring معالجة بياناتك في الوقت الفعلي تقريبًا.
التواصل مع فريق دعم Firebase
إذا تواصلت مع فريق دعم Firebase، احرص دائمًا على تضمين رقم تعريف تطبيقك على Firebase. يمكنك العثور على رقم تعريف تطبيقك على Firebase في بطاقة تطبيقاتك ضمن settingsإعدادات المشروع.
تاريخ التعديل الأخير: 2026-06-16 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2026-06-16 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]