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

Kayce Basques
Kayce Basques
Sofia Emelianova
Sofia Emelianova

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

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

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

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

  • عرض التقارير التي أرسلها Chrome أو على وشك إرسالها باستخدام Reporting API
  • السماح لك بتصحيح أخطاء ميزة "التخزين المؤقت للصفحات" واختبارها بنقرة واحدة

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

تتيح 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. انقر على فرض التشغيل لحذف الحالة على الفور.

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

الإشعارات

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

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

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

  3. انقر على جدولة إشعار والسماح عند المطالبة بذلك.

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

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

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

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

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

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

تجلِب عملية الجلب المسبق أحد الموارد مسبقًا، بينما تتجاوز عملية العرض المسبق ذلك وتعرض الصفحة بأكملها في عملية عرض في الخلفية مخفية.

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

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

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

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

    عناوين URL التي تم تحميلها بشكل تخميني من خلال هذه الصفحة، حالتا نجاح وحالة تعذّر.

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

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

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

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

  4. اختياريًا، لفلترة الجدول في علامة التبويب التوقُّعات ، اكتب قيمة بحرية في شريط الفلتر في أعلى الصفحة أو استخدِم أحد الفلاتر التي تستند إلى المفاتيح: url:VALUE أو action:VALUE أو action:VALUE.

    شريط فلاتر جدول التخمينات

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

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

للحصول على شرح تفصيلي أكثر، يُرجى الاطّلاع على تصحيح أخطاء قواعد التوقُّع.

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

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

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

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

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

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

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

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

Reporting API

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

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

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

للاطّلاع على التقارير التي أنشأتها صفحة:

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

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

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

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

حالة التقرير

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

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

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

سياق تقرير الأعطال

باستخدام Reporting API، يمكنك ضبط موقعك الإلكتروني لـ الإبلاغ عن الأعطال إلى نقطة نهاية خادم crash-reporting أو default. يمكن أن يتضمّن تقرير الأعطال واجهة CrashReportContext تتيح لك تسجيل بيانات عشوائية ذات صلة بالأعطال في أزواج من المفاتيح والقيم لسياق التصفّح الحالي على المستوى الأعلى.

في علامة التبويب التطبيق > الخدمات في الخلفية > Reporting API > سياق تقرير الأعطال ، يمكنك فحص بيانات سياق الأعطال والفلترة حسب المفتاح أو القيمة في شريط الفلتر في أعلى الصفحة.

علامة التبويب "سياق تقرير الأعطال"

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

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

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

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

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

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

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

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

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

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

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