تصحيح أخطاء الخدمات التي تعمل في الخلفية

Kayce Basques
Kayce Basques
Sofia Emelianova
Sofia Emelianova

يتضمّن قسم الخدمات التي تعمل في الخلفية في "أدوات مطوّري البرامج في Chrome" مجموعة من الأدوات لواجهات برمجة التطبيقات JavaScript التي تتيح لموقعك الإلكتروني إرسال التحديثات وتلقّيها حتى عندما لا يكون الموقع الإلكتروني مفتوحًا لدى المستخدم. تتشابه خدمة تُشغَّل في الخلفية من الناحية الوظيفية مع عملية في الخلفية.

يتيح لك قسم الخدمات التي تعمل في الخلفية تصحيح الأخطاء في الخدمات التالية التي تعمل في الخلفية:

يمكن لأدوات مطوّري البرامج في Chrome تسجيل أحداث الجلب والمزامنة والإشعارات لمدة ثلاثة أيام، حتى عندما تكون الأدوات غير مفتوحة. يمكن أن يساعدك ذلك في التأكّد من إرسال الأحداث وتلقّيها على النحو المتوقّع.

بالإضافة إلى أحداث خدمة تُشغَّل في الخلفية، يمكن لأدوات مطوري البرامج تنفيذ ما يلي:

استرجاع البيانات في الخلفية

تتيح واجهة برمجة التطبيقات Background Fetch API لمشغّل الخدمات تنزيل موارد كبيرة بشكل موثوق، مثل الأفلام أو برامج البودكاست، كخدمة تُشغَّل في الخلفية. لتسجيل أحداث جلب البيانات في الخلفية لمدة ثلاثة أيام، حتى عندما تكون "أدوات مطوّري البرامج" غير مفتوحة، اتّبِع الخطوات التالية:

  1. افتح "أدوات مطوّري البرامج" على صفحة تستخدم Background Fetch API.
  2. انتقِل إلى التطبيق > الخدمات التي تعمل في الخلفية > استرجاع البيانات في الخلفية، ثم انقر على تسجيل تسجيل.

    علامة التبويب "استرجاع البيانات في الخلفية"

  3. في صفحتك، فعِّل بعض أنشطة الجلب في الخلفية. تسجّل "أدوات مطوّري البرامج" الأحداث في الجدول.

    سجلّ للأحداث في علامة التبويب "الجلب في الخلفية"

  4. انقر على حدث للاطّلاع على تفاصيله في المساحة أسفل الجدول.

  5. يمكنك إغلاق "أدوات مطوّري البرامج" وترك التسجيل يعمل لمدة تصل إلى ثلاثة أيام. لإيقاف التسجيل، انقر على إيقاف إيقاف.

مزامنة الخلفية

تتيح Background Sync API لعامل الخدمة غير المتصل بالإنترنت إرسال البيانات إلى خادم بعد إعادة إنشاء اتصال موثوق بالإنترنت. لتسجيل أحداث المزامنة في الخلفية لمدة ثلاثة أيام، حتى عندما لا تكون "أدوات مطوّري البرامج" مفتوحة، اتّبِع الخطوات التالية:

  1. افتح "أدوات مطوّري البرامج"، مثلاً على صفحة العرض التوضيحي هذه.
  2. انتقِل إلى التطبيق > الخدمات التي تعمل في الخلفية > المزامنة في الخلفية وانقر على تسجيل تسجيل.

    علامة التبويب "المزامنة في الخلفية"

  3. في صفحة العرض التوضيحي، انقر على تسجيل المزامنة في الخلفية لتسجيل عامل الخدمة المعنيّ، ثم انقر على السماح عند المطالبة بذلك.

    تسجيل مشغّل الخدمات هو نشاط مزامنة في الخلفية. تسجّل "أدوات مطوّري البرامج" الأحداث في الجدول.

    سجلّ للأحداث في علامة التبويب "المزامنة في الخلفية"

  4. انقر على حدث للاطّلاع على تفاصيله في المساحة أسفل الجدول.

  5. يمكنك إغلاق "أدوات مطوّري البرامج" وترك التسجيل يعمل لمدة تصل إلى ثلاثة أيام. لإيقاف التسجيل، انقر على إيقاف إيقاف.

(تجريبية) إجراءات الحدّ من التتبّع الارتدادي

يتيح لك تجربة إجراءات الحدّ من تتبُّع الارتداد في Chrome تحديد حالة المواقع الإلكترونية التي يبدو أنّها تتتبّع إجراءات المستخدم على مواقع إلكترونية متعددة باستخدام أسلوب تتبُّع الارتداد وحذفها. يمكنك فرض إجراءات الحدّ من التتبّع يدويًا والاطّلاع على قائمة بالمواقع الإلكترونية التي تم حذف حالاتها.

لفرض إجراءات الحدّ من التتبّع، اتّبِع الخطوات التالية:

  1. حظر ملفات تعريف الارتباط التابعة لجهات خارجية في Chrome انتقِل إلى قائمة الخيارات الإضافية > الإعدادات > الأمان. الخصوصية والأمان > ملفات تعريف الارتباط وبيانات الموقع الإلكتروني الأخرى > تم وضع علامة في زر الاختيار. حظر ملفات تعريف الارتباط التابعة لجهات خارجية، ثم فعِّلها.
  2. في chrome://flags، اضبط تجربة إجراءات الحدّ من التتبّع الارتدادي على مفعَّلة مع الحذف.
  3. افتح "أدوات مطوّري البرامج" وانتقِل إلى التطبيق > الخدمات التي تعمل في الخلفية > إجراءات الحدّ من تتبُّع الارتداد.
  4. انقر على رابط الارتداد وانتظر (10 ثوانٍ) إلى أن يسجّل Chrome الارتداد. تنبّهك علامة التبويب المشاكل بشأن حذف الحالة القادم.
  5. انقر على التشغيل الإجباري لحذف الحالة على الفور.

تعرض إجراءات الحدّ من التتبّع الارتدادي عملية حذف حالة.

الإشعارات

بعد أن يتلقّى عامل الخدمة رسالة إشعار فوري من خادم، يستخدم عامل الخدمة واجهة برمجة التطبيقات الإشعارات لعرض البيانات للمستخدم. لتسجيل الإشعارات لمدة ثلاثة أيام، حتى عندما لا تكون "أدوات مطوّري البرامج" مفتوحة، اتّبِع الخطوات التالية:

  1. فتح "أدوات مطوّري البرامج"
  2. انتقِل إلى التطبيق > الخدمات التي تعمل في الخلفية > الإشعارات وانقر على تسجيل تسجيل.

    علامة التبويب "الإشعارات"

  3. انقر على تحديد موعد للإشعار ثم على السماح عندما يُطلب منك ذلك.

  4. انتظِر إلى حين ظهور الإشعار. تسجّل "أدوات مطوّري Chrome" أحداث الإشعارات في الجدول.

    سجلّ للأحداث في علامة التبويب "الإشعارات"

  5. انقر على حدث للاطّلاع على تفاصيله في المساحة أسفل الجدول.

  6. يمكنك إغلاق "أدوات مطوّري البرامج" وترك التسجيل يعمل لمدة تصل إلى ثلاثة أيام. لإيقاف التسجيل، انقر على إيقاف إيقاف.

عمليات التحميل المبني على توقُّع

تتيح عمليات التحميل المبني على توقُّع تحميل الصفحة بشكل شبه فوري استنادًا إلى قواعد التوقُّع التي تحدّدها. يتيح ذلك لموقعك الإلكتروني جلب معظم الصفحات التي يتم الانتقال إليها مسبقًا وعرضها مسبقًا.

تتيح ميزة "الجلب المسبق" جلب مورد مسبقًا، بينما تتيح ميزة "العرض المسبق" خطوة إضافية تتمثّل في عرض الصفحة بأكملها في عملية عرض مخفية في الخلفية.

يمكنك تصحيح أخطاء عمليات التحميل المبني على توقُّع في قسم التطبيق > الخدمات التي تعمل في الخلفية > عمليات التحميل المبني على توقُّع. يحتوي القسم على ثلاث طرق عرض:

  • عمليات التحميل المبني على توقُّع: تحتوي على حالة التحميل المبني على توقُّع للصفحة الحالية وعنوان URL الحالي والصفحات التي تحاول الصفحة الحالية تحميلها بشكل مبني على توقُّع وحالاتها.
  • القواعد تحتوي على مجموعات القواعد في الصفحة الحالية في لوحة العناصر والحالة العامة للتخمينات.
  • التكهّنات: يحتوي على جدول يتضمّن معلومات عن محاولات التحميل التخميني وحالاتها. إذا فشلت محاولة، يمكنك النقر عليها في الجدول للاطّلاع على معلومات تفصيلية وسبب الفشل.

جرِّب تصحيح أخطاء عمليات التحميل المبني على توقُّع في صفحة العرض التوضيحي للتحميل المسبق هذه:

  1. افتح "أدوات مطوري البرامج" على الصفحة وانتقِل إلى التطبيق > خدمة تُشغَّل في الخلفية > تحميل مبني على توقّع. إذا لم تظهر لك أي عمليات تحميل استنادي بدأتها الصفحة، أعِد تحميلها.

    عناوين URL التي تم تحميلها بشكل تخميني من خلال هذه الصفحة، حالتا نجاح وحالة إخفاق واحدة

  2. تعرض الصفحة الأولى من العرض التوضيحي صفحتَين مُسبقًا، ويتعذّر عرض صفحة واحدة مُسبقًا. انقر على عرض كل التوقّعات.

  3. في التخمينات، اختَر التخمين الذي يحمل الحالة تعذّر للاطّلاع على قسم سبب التعذّر الذي يتضمّن معلومات تفصيلية في الأسفل.

    تم اختيار التخمين غير الصحيح.

    في هذه الحالة، تعذّر العرض المُسبَق لأنّه لا تتوفّر صفحة /next3.html على الموقع الإلكتروني.

  4. افتح قسم القواعد وانقر على الحالة للاطّلاع على مجموعة القواعد في أسفل الصفحة. سيؤدي النقر على رابط مجموعة القواعد إلى نقلك إلى لوحة العناصر وعرض موضع تحديد قاعدة التخمين.

    قسم "القواعد" الذي يتضمّن الرابط المؤدي إلى "مجموعة القواعد"

للحصول على شرح أكثر تفصيلاً، اطّلِع على تصحيح أخطاء قواعد التخمين.

الإشعارات الفورية

لعرض إشعار فوري للمستخدم، يجب أن يستخدم عامل الخدمة أولاً واجهة برمجة التطبيقات Push Message لتلقّي البيانات من الخادم. عندما يصبح عامل الخدمة جاهزًا لعرض الإشعار، يستخدم واجهة برمجة التطبيقات Notifications. لتسجيل الرسائل الواردة لمدة ثلاثة أيام، حتى عندما تكون أدوات مطوّري البرامج مغلقة، اتّبِع الخطوات التالية:

  1. افتح "أدوات مطوّري البرامج"، مثلاً على صفحة العرض التوضيحي هذه.
  2. انتقِل إلى التطبيق > الخدمات التي تعمل في الخلفية > الرسائل الفورية وانقر على تسجيل تسجيل.

    علامة التبويب "إرسال رسائل من الخادم"

  3. في صفحة العرض التوضيحي، فعِّل تفعيل الإشعارات الفورية، ثم انقر على السماح عندما يُطلب منك ذلك، واكتب رسالة وأرسِلها. تسجّل "أدوات مطوّري البرامج" أحداث الإشعارات الفورية في الجدول.

    سجلّ للأحداث في علامة التبويب "الرسائل الفورية"

  4. انقر على حدث للاطّلاع على تفاصيله في المساحة أسفل الجدول.

  5. يمكنك إغلاق "أدوات مطوّري البرامج" وترك التسجيل يعمل لمدة تصل إلى ثلاثة أيام. لإيقاف التسجيل، انقر على إيقاف إيقاف.

Reporting API

تحدث بعض الأخطاء في بيئة الإنتاج فقط. لا يمكنك رؤيتها على جهازك أو أثناء التطوير لأنّ المستخدمين والشبكات والأجهزة الحقيقية تغيّر اللعبة.

على سبيل المثال، لنفترض أنّ موقعك الإلكتروني الجديد يعتمد على برنامج تابع لجهة خارجية يستخدم document.write() لتحميل النصوص البرمجية المهمة. يفتح المستخدمون الجدد في جميع أنحاء العالم موقعك الإلكتروني، ولكن قد تكون سرعة الاتصال لديهم أبطأ من السرعة التي اختبرت بها الموقع. يبدأ موقعك الإلكتروني في عرض أخطاء للمستخدمين بدون علمك لأنّ Chrome يتدخّل لمنع document.write() على الشبكات البطيئة. بدلاً من ذلك، قد تحتاج إلى مراقبة واجهات برمجة التطبيقات التي تم إيقافها نهائيًا أو سيتم إيقافها نهائيًا قريبًا والتي قد يستخدمها الرمز البرمجي.

تم تصميم Reporting API لمساعدتك في مراقبة طلبات البيانات من واجهة برمجة التطبيقات المتوقّفة نهائيًا، وانتهاكات الأمان في صفحتك، وغير ذلك. يمكنك إعداد التقارير كما هو موضّح في مراقبة تطبيق الويب باستخدام Reporting API.

للاطّلاع على التقارير التي تم إنشاؤها بواسطة صفحة معيّنة، اتّبِع الخطوات التالية:

  1. انتقِل إلى chrome://flags/#enable-experimental-web-platform-features، واضبط ميزات "منصة الويب التجريبية" على مفعَّلة، ثم أعِد تشغيل Chrome.
  2. افتح "أدوات مطوّري البرامج" وانتقِل إلى التطبيق > الخدمات التي تعمل في الخلفية > Reporting API.

    التقارير المُدرَجة في Reporting API

تنقسم علامة التبويب Reporting API إلى ثلاثة أجزاء:

  • جدول التقارير الذي يتضمّن المعلومات التالية عن كل تقرير:
    • عنوان URL الذي أدّى إلى إنشاء التقرير
    • نوع المخالفة
    • حالة التقرير
    • نقطة نهاية الوجهة
    • الطابع الزمني لإنشاء التقرير
    • نص البلاغ
  • قسم معاينة نص التقرير لمعاينة نص التقرير، انقر على تقرير في جدول التقارير.
  • قسم نقاط النهاية الذي يتضمّن نظرة عامة على جميع نقاط النهاية التي تم ضبطها في العنوان Reporting-Endpoints

حالة التقرير

يخبرك عمود الحالة ما إذا كان Chrome قد أرسل التقرير بنجاح أو على وشك إرساله أو تعذّر عليه إرساله.

الحالة الوصف
Success أرسل المتصفّح التقرير وردّت نقطة النهاية برمز نجاح (200 أو رمز استجابة ناجحة آخر 2xx).
Pending يحاول المتصفّح إرسال التقرير.
Queued تم إنشاء التقرير، ولكن لم يحاول المتصفّح إرساله بعد. يظهر التقرير على شكل Queued في إحدى الحالتَين التاليتَين:
  • التقرير جديد وينتظر المتصفّح وصول المزيد من التقارير قبل محاولة إرساله.
  • التقرير ليس جديدًا، فقد سبق أن حاول المتصفّح إرساله وتعذّر عليه ذلك، وهو ينتظر قبل إعادة المحاولة.
MarkedForRemoval بعد إعادة المحاولة لفترة من الوقت (Queued)، توقّف المتصفّح عن محاولة إرسال التقرير وسيزيله قريبًا من قائمة التقارير التي سيتم إرسالها.

تتم إزالة البلاغات بعد فترة من الوقت، سواء تم إرسالها بنجاح أم لا.

الجلسات المقيّدة بالجهاز

بيانات اعتماد جلسة مرتبطة بالجهاز (DBSC) هي واجهة برمجة تطبيقات على الويب وبروتوكول بين وكلاء المستخدمين والخوادم يهدف إلى منع سرقة ملفات تعريف الارتباط من خلال السماح لوكيل المستخدم بتأكيد امتلاكه لمفتاح خاص مخزَّن بشكل آمن.

للاطّلاع على الجلسات المقيّدة بالجهاز وتعريفاتها وأحداثها، اتّبِع الخطوات التالية:

  1. افتح "أدوات مطوّري البرامج" على صفحة تستخدم ميزة "بيانات اعتماد الجلسة المرتبطة بالجهاز".
  2. انتقِل إلى التطبيق > الخدمات التي تعمل في الخلفية > الجلسات المرتبطة بالجهاز.
  3. في الشريط الجانبي على يمين الصفحة، وسِّع أحد المواقع الإلكترونية لعرض جلساته النشطة. اختَر جلسة للاطّلاع على تعريفها.

    علامة التبويب "الجلسات المقيّدة بالجهاز"

  4. يسجّل جدول الأحداث أحداث "بيانات اعتماد الجلسة المرتبطة بالجهاز"، مثل الإنشاء والتحديث والتحقّق والإنهاء. للاحتفاظ بقائمة الأحداث أثناء التنقّل بين الصفحات، ضَع علامة في مربّع الاختيار check_box حفظ السجلّ.

  5. في جدول الأحداث، اختَر حدثًا للاطّلاع على تفاصيله.

  6. في حال تعذُّر تنفيذ حدث، ستظهر الرسالة Error في عمود النتيجة. اختَر الحدث الذي تعذّر تنفيذه للاطّلاع على تفاصيله ورمز خطأ الاستجابة وسبب تعذّر التنفيذ.

    علامة التبويب "الجلسات المرتبطة بالجهاز" مع اختيار حدث خطأ

قد يسلّط قسم الجلسات المقيّدة بالجهاز في الشريط الجانبي الضوء على المشاكل التالية:

  • الجلسات المنتهية: يشار إليها بخط يتوسطها ورمز قاعدة بيانات غير نشطة في الشريط الجانبي.
  • الأحداث التي تعذّر تنفيذها: يتم تمييزها برمز تحذير. يسجّل العنصر بدون جلسة الأحداث غير الناجحة التي تم ربطها بموقع إلكتروني ولكن ليس بجلسة معروفة.