إذا كنت بصدد بدء استخدام Performance Monitoring
(iOS+ |
Android |
الويب)، يمكن أن تساعدك نصائح تحديد المشاكل وحلّها التالية
في حلّ المشاكل التي تتعلّق برصد Firebase لحزمة تطوير البرامج (SDK) أو عرض
بيانات الأداء الأولى في وحدة تحكّم Firebase.
تمت إضافة حزمة SDK إلى التطبيق، ولكن لا تزال وحدة التحكم
تطلب إضافة حزمة SDK
يمكن لمنصة Firebase رصد ما إذا كنت قد أضفت حزمة تطوير البرامج (SDK) لـ Performance Monitoring إلى تطبيقك بنجاح
عندما تتلقّى معلومات الأحداث (مثل التفاعلات مع التطبيق) من تطبيقك.
عادةً في غضون 10 دقائق من بدء تطبيقك، تعرض لوحة بيانات الأداء
في وحدة تحكّم Firebase رسالة "تم رصد حزمة تطوير البرامج (SDK)". بعد ذلك، في غضون 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 Console إلى أنّه تم رصد حزمة SDK، ولكن لا يتم عرض أي بيانات
تعالج أداة Performance Monitoring بيانات أحداث الأداء قبل عرضها في
لوحة بيانات الأداء.
إذا مرّ أكثر من 24 ساعة على ظهور رسالة "تم رصد حزمة تطوير البرامج (SDK)"،
ولم تظهر لك البيانات بعد، يُرجى التحقّق من
لوحة البيانات الخاصة بحالة Firebase في حال حدوث
انقطاع معروف في الخدمة. إذا لم يكن هناك انقطاع في الخدمة، يُرجى التواصل مع فريق دعم Firebase.
الإجراءات العامّة لتحديد المشاكل وحلّها
إذا أضفت حزمة تطوير البرامج (SDK) بنجاح وكنت تستخدم Performance Monitoring في تطبيقك، يمكن أن تساعدك نصائح تحديد المشاكل وحلّها التالية في حلّ المشاكل العامة التي تتعلّق بميزات وأدوات Performance Monitoring.
بيانات تتبُّع الشاشة غير متوفّرة في لوحة بيانات الأداء
إذا كانت بيانات تتبُّعات عرض الشاشة غير متوفّرة، جرِّب الخطوات التالية لتحديد المشاكل وحلّها:
لا تتوفّر بيانات التتبُّع المخصّصة في لوحة بيانات الأداء
هل تظهر لك بيانات الأداء لعمليات التتبُّع التي يتم جمعها تلقائيًا وليس لعمليات التتبُّع المخصّصة للرموز البرمجية؟ جرِّب الخطوات التالية لتحديد المشاكل وحلّها:
يجب أن تستوفي أسماء عمليات تتبُّع الرموز المخصّصة والمقاييس المخصّصة المتطلبات التالية: ألا تحتوي على مسافة بيضاء في البداية أو النهاية، وألا تحتوي على حرف شرطة سفلية (_) في البداية، وألا يتجاوز الحد الأقصى للطول 32 حرفًا.
يجب بدء جميع عمليات التتبُّع وإيقافها. ولن يتم تسجيل أي تتبُّع لم يبدأ أو لم يتوقف أو توقف قبل بدئه.
استنادًا إلى سلوك الرمز البرمجي ومكتبات الشبكات التي يستخدمها الرمز، قد لا تُبلغ أداة Performance Monitoring إلا عن طلبات الشبكة المكتملة. وهذا يعني أنّ اتصالات HTTP/S التي تُترك مفتوحة قد لا يتم الإبلاغ عنها.
لا تسجّل "Performance Monitoring" طلبات الشبكة التي تتضمّن عناوين Content-Type غير صالحة. ومع ذلك، سيستمر قبول طلبات الشبكة التي لا تتضمّن عناوين Content-Type.
لا يتم تجميع بيانات طلبات الشبكة على النحو المتوقّع
ماذا حدث لـ "أهم المشاكل" في بطاقة "الأداء" في الصفحة الرئيسية للمشروع؟
لقد استبدلنا أهم المشاكل بـ التنبيهات الأخيرة كخطوة تالية بعد طرحنا مؤخرًا للتنبيهات التي تُعلمك تلقائيًا عند تجاوز الحدود التي حدّدتها. تم إيقاف المشاكل نهائيًا
واستبدالها بالتنبيهات.
تعمل أداة اختيار التطبيقات في أعلى بطاقة "الأداء" على فلترة إدخالات التنبيهات ضمن التنبيهات الأخيرة. يتم عرض آخر ثلاثة تنبيهات فقط للتطبيقات المحددة.
ماذا حدث لإمكانية ضبط الحدود القصوى للمشاكل في Play Console؟
تتيح 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 أو إصدار أحدث (أو الإصدار 26.1.0 من Firebase Android BoM أو إصدار أحدث)
الويب: الإصدار 7.14.0 أو إصدار أحدث
يُرجى العِلم أنّنا ننصح دائمًا باستخدام أحدث إصدار من حزمة تطوير البرامج (SDK)، ولكن أي إصدار من الإصدارات المذكورة أعلاه سيتيح لـ "Performance Monitoring" معالجة بياناتك في الوقت الفعلي تقريبًا.
ما هي إصدارات حزمة تطوير البرامج (SDK) لـ "Performance Monitoring" المتوافقة مع الوقت الفعلي؟
في ما يلي إصدارات حِزم SDK المتوافقة مع معالجة البيانات في الوقت الفعلي:
أجهزة iOS: الإصدار 7.3.0 أو إصدار أحدث
tvOS: الإصدار 8.9.0 أو إصدار أحدث
أجهزة Android: الإصدار 19.0.10 أو إصدار أحدث (أو الإصدار 26.1.0 من Firebase Android BoM أو إصدار أحدث)
الويب: الإصدار 7.14.0 أو إصدار أحدث
يُرجى العِلم أنّنا ننصح دائمًا باستخدام أحدث إصدار من حزمة تطوير البرامج (SDK)، ولكن أي إصدار من الإصدارات المذكورة أعلاه سيتيح لـ "Performance Monitoring" معالجة بياناتك في الوقت الفعلي تقريبًا.
ماذا يحدث إذا لم أحدّث تطبيقي لاستخدام إصدار من حزمة SDK متوافق مع ميزة "الإحصاءات في الوقت الفعلي"؟
إذا كان تطبيقك لا يستخدم إصدارًا من حزمة SDK متوافقًا مع ميزة "الإحصاءات في الوقت الفعلي"، فسيظل بإمكانك الاطّلاع على جميع بيانات أداء تطبيقك في وحدة تحكّم "Firebase". ومع ذلك، سيتأخر عرض بيانات الأداء لمدة 36 ساعة تقريبًا من وقت جمعها.
لقد حدّثتُ حزمة SDK إلى إصدار متوافق مع ميزة "الوقت الفعلي"، ولكن بعض المستخدمين لا يزالون يستخدمون إصدارات قديمة من تطبيقي. هل سأستمر في رؤية بيانات أدائهم في وحدة تحكّم Firebase؟
نعم. بغض النظر عن إصدار حزمة تطوير البرامج (SDK) الذي يستخدمه مثيل التطبيق، ستظهر لك بيانات الأداء من جميع المستخدمين.
ومع ذلك، إذا كنت تطّلع على بيانات حديثة (أقل من 36 ساعة تقريبًا)،
فإنّ البيانات المعروضة تكون من مستخدمي نُسخ التطبيق التي تستخدم إصدارًا متوافقًا من حزمة تطوير البرامج (SDK) في الوقت الفعلي. أمّا البيانات غير الحديثة، فتتضمّن بيانات الأداء
من جميع إصدارات تطبيقك.
لماذا لا تظهر بيانات الأداء في الوقت الفعلي؟
لعرض بيانات الأداء في الوقت الفعلي، تأكَّد من أنّ تطبيقك يستخدم إصدارًا من حزمة تطوير البرامج (SDK) لخدمة "Performance Monitoring" يتوافق مع معالجة البيانات في الوقت الفعلي.
أجهزة iOS: الإصدار 7.3.0 أو إصدار أحدث
tvOS: الإصدار 8.9.0 أو إصدار أحدث
أجهزة Android: الإصدار 19.0.10 أو إصدار أحدث (أو الإصدار 26.1.0 من Firebase Android BoM أو إصدار أحدث)
الويب: الإصدار 7.14.0 أو إصدار أحدث
يُرجى العِلم أنّنا ننصح دائمًا باستخدام أحدث إصدار من حزمة تطوير البرامج (SDK)، ولكن أي إصدار من الإصدارات المذكورة أعلاه سيتيح لـ "Performance Monitoring" معالجة بياناتك في الوقت الفعلي تقريبًا.
التواصل مع فريق دعم Firebase
إذا كنت تريد
التواصل مع فريق دعم Firebase،
يُرجى تضمين معرّف تطبيق Firebase دائمًا. يمكنك العثور على رقم تعريف تطبيق Firebase في بطاقة تطبيقاتك ضمن settingsإعدادات المشروع.