اشکال زدایی خدمات پس زمینه

کیس باسک
Kayce Basques
صوفیا املیانووا
Sofia Emelianova

بخش سرویس‌های پس‌زمینه در Chrome DevTools مجموعه‌ای از ابزارها برای APIهای جاوا اسکریپت است که وب‌سایت شما را قادر می‌سازد حتی زمانی که کاربر وب‌سایت شما را باز نکرده است، به‌روزرسانی‌ها را ارسال و دریافت کند. یک سرویس پس‌زمینه از نظر عملکردی مشابه یک فرآیند پس‌زمینه است.

بخش سرویس‌های پس‌زمینه به شما امکان می‌دهد سرویس‌های پس‌زمینه زیر را اشکال‌زدایی کنید:

Chrome DevTools می‌تواند رویدادهای واکشی، همگام‌سازی و اعلان‌ها را به مدت سه روز، حتی زمانی که DevTools باز نیست، ثبت کند. این می‌تواند به شما کمک کند تا مطمئن شوید که رویدادها طبق انتظار ارسال و دریافت می‌شوند.

علاوه بر رویدادهای سرویس پس‌زمینه، DevTools می‌تواند:

واکشی پس‌زمینه

API مربوط به Background Fetch به یک سرویس ورکر این امکان را می‌دهد که منابع بزرگی مانند فیلم‌ها یا پادکست‌ها را به عنوان یک سرویس پس‌زمینه به طور قابل اعتمادی دانلود کند. برای ثبت رویدادهای مربوط به دریافت پس‌زمینه به مدت سه روز، حتی زمانی که DevTools باز نیست:

  1. با استفاده از Background Fetch API، ابزار توسعه (DevTools) را در یک صفحه باز کنید .
  2. به مسیر Application > Background services > Background fetch بروید و کلیک کنید. ضبط کنید. ضبط کن .

    پنجره‌ی واکشی پس‌زمینه.

  3. در صفحه خود، برخی فعالیت‌های واکشی پس‌زمینه را فعال کنید. DevTools رویدادها را در جدول ثبت می‌کند.

    گزارش رویدادها در پنجره‌ی واکشی پس‌زمینه.

  4. برای مشاهده جزئیات یک رویداد در فضای زیر جدول، روی آن کلیک کنید.

  5. می‌توانید DevTools را ببندید و ضبط را تا سه روز ادامه دهید. برای توقف ضبط، روی کلیک کنید. ایست. بس کن .

همگام‌سازی پس‌زمینه

API همگام‌سازی پس‌زمینه، یک سرویس ورکر آفلاین را قادر می‌سازد تا پس از برقراری مجدد اتصال اینترنت قابل اعتماد، داده‌ها را به سرور ارسال کند. برای ثبت رویدادهای همگام‌سازی پس‌زمینه به مدت سه روز، حتی زمانی که DevTools باز نیست:

  1. برای مثال، DevTools را در این صفحه آزمایشی باز کنید.
  2. به مسیر Application > Background services > Background sync بروید و کلیک کنید. ضبط کنید. ضبط کن .

    پنجره همگام‌سازی پس‌زمینه.

  3. در صفحه آزمایشی، روی «ثبت همگام‌سازی پس‌زمینه» کلیک کنید تا سرویس ورکر مربوطه ثبت شود و در صورت درخواست، روی «اجازه دادن» کلیک کنید.

    ثبت نام سرویس ورکر یک فعالیت همگام‌سازی پس‌زمینه است. DevTools رویدادها را در جدول ثبت می‌کند.

    گزارش رویدادها در پنجره همگام‌سازی پس‌زمینه.

  4. برای مشاهده جزئیات یک رویداد در فضای زیر جدول، روی آن کلیک کنید.

  5. می‌توانید DevTools را ببندید و ضبط را تا سه روز ادامه دهید. برای توقف ضبط، روی کلیک کنید. ایست. بس کن .

(آزمایشی) کاهش ردیابی پرش

آزمایش کاهش ردیابی پرش در کروم به شما امکان می‌دهد وضعیت سایت‌هایی را که به نظر می‌رسد ردیابی بین سایتی را با استفاده از تکنیک ردیابی پرش انجام می‌دهند، شناسایی و حذف کنید. می‌توانید به صورت دستی کاهش ردیابی را اعمال کنید و لیستی از سایت‌هایی را که وضعیت آنها حذف شده است، مشاهده کنید.

برای اعمال محدودیت‌های ردیابی:

  1. کوکی‌های شخص ثالث را در کروم مسدود کنید . به مسیر زیر بروید و فعال کنید. منوی سه نقطه‌ای. > تنظیمات > امنیت. حریم خصوصی و امنیت > کوکی‌ها و سایر داده‌های سایت > دکمه رادیویی بررسی شد. کوکی‌های شخص ثالث را مسدود کنید .
  2. در chrome://flags ، آزمایش کاهش اثرات ردیابی پرش (Bounce tracking mitigations) را روی Enabled With Deletion تنظیم کنید.
  3. DevTools را باز کنید و به Application > Background services > Bounce tracking mitigations بروید.
  4. روی لینک برگشتی کلیک کنید و (۱۰ ثانیه) صبر کنید تا کروم برگشت را ثبت کند. تب مشکلات ( issues) در مورد حذف قریب‌الوقوع وضعیت به شما هشدار می‌دهد.
  5. برای حذف فوری وضعیت، روی «اجرای اجباری» کلیک کنید.

راهکارهای کاهش ردیابی پرش، حذف یک وضعیت را فهرست می‌کنند.

اعلان‌ها

بعد از اینکه یک سرویس ورکر یک پیام فشاری از سرور دریافت کرد، سرویس ورکر از API اعلان‌ها برای نمایش داده‌ها به کاربر استفاده می‌کند. برای ثبت اعلان‌ها به مدت سه روز، حتی زمانی که DevTools باز نیست:

  1. ابزار توسعه (DevTools) را باز کنید
  2. به مسیر Application > Background services > Notifications بروید و کلیک کنید ضبط کنید. ضبط کن .

    پنل اعلان‌ها (Notifications)

  3. روی «زمان‌بندی اعلان‌ها» کلیک کنید و وقتی از شما خواسته شد، «مجاز» را انتخاب کنید .

  4. صبر کنید تا اعلان ظاهر شود. DevTools رویدادهای اعلان را در جدول ثبت می‌کند.

    گزارش رویدادها در پنل اعلان‌ها.

  5. برای مشاهده جزئیات یک رویداد در فضای زیر جدول، روی آن کلیک کنید.

  6. می‌توانید DevTools را ببندید و ضبط را تا سه روز ادامه دهید. برای توقف ضبط، روی کلیک کنید. ایست. بس کن .

بارهای سوداگرانه

بارگذاری‌های حدسی (speculative loads) امکان بارگذاری تقریباً آنی صفحه را بر اساس قوانین حدسی که شما تعریف می‌کنید، فراهم می‌کنند. این به وب‌سایت شما اجازه می‌دهد تا صفحاتی را که بیشتر به آنها هدایت می‌شوید، پیش‌واکشی (prefetch) و پیش‌رندر (prerender) کند.

Prefetch یک منبع را از قبل دریافت می‌کند و Prerender یک قدم فراتر می‌رود و کل صفحه را در یک فرآیند رندر پس‌زمینه پنهان رندر می‌کند.

شما می‌توانید بارهای احتمالی را در بخش Application > Background services > Speculative loads اشکال‌زدایی کنید. این بخش شامل سه نما است:

  • بارهای حدسی (Speculative loads ): شامل وضعیت حدسی برای صفحه فعلی، URL فعلی، صفحاتی که صفحه فعلی سعی در بارگذاری آنها به صورت حدسی دارد و وضعیت آنها است.
  • قوانین . شامل مجموعه قوانین در صفحه فعلی در پنل عناصر و وضعیت کلی گمانه‌زنی‌ها است.
  • گمانه‌زنی‌ها . شامل جدولی با اطلاعات مربوط به تلاش‌های بارگذاری گمانه‌زننده و وضعیت آنها است. اگر تلاشی ناموفق بود، می‌توانید روی آن در جدول کلیک کنید تا اطلاعات دقیق و دلیل شکست را ببینید.

اشکال‌زدایی بارهای احتمالی را در این صفحه آزمایشی پیش‌رندر امتحان کنید:

  1. DevTools را در صفحه باز کنید و به Application > Background services > Speculative loads بروید. اگر هیچ گونه Speculative load که توسط صفحه آغاز شده است را نمی‌بینید، آن را مجدداً بارگذاری کنید.

    آدرس‌های اینترنتی (URL) که به صورت حدسی توسط این صفحه بارگذاری شده‌اند، دو مورد موفقیت‌آمیز و یک مورد شکست‌خورده.

  2. صفحه شروع دمو دو صفحه را پیش‌رندر می‌کند و یکی را نمی‌تواند پیش‌رندر کند. روی «مشاهده همه گمانه‌زنی‌ها» کلیک کنید.

  3. در بخش گمانه‌زنی‌ها ، گمانه‌زنی با وضعیت شکست را انتخاب کنید تا دلیل شکست را به همراه اطلاعات دقیق در پایین آن مشاهده کنید.

    گمانه‌زنی‌های ناموفق انتخاب شدند.

    در این مورد، پیش‌رندر با شکست مواجه شد زیرا صفحه /next3.html در وب‌سایت وجود ندارد.

  4. بخش قوانین را باز کنید و روی وضعیت کلیک کنید تا مجموعه قوانین را در پایین ببینید. کلیک روی لینک مجموعه قوانین شما را به پنل عناصر می‌برد و به شما نشان می‌دهد که قانون حدس و گمان کجا تعریف شده است.

    بخش قوانین با پیوند به مجموعه قوانین.

برای جزئیات بیشتر، به قوانین اشکال‌زدایی حدس و گمان مراجعه کنید.

پیام‌رسانی فوری

برای نمایش یک اعلان فشاری به کاربر، یک سرویس ورکر ابتدا باید از API پیام فشاری برای دریافت داده‌ها از سرور استفاده کند. وقتی سرویس ورکر آماده نمایش اعلان شد، از API اعلان‌ها استفاده می‌کند. برای ثبت پیام‌های فشاری به مدت سه روز، حتی زمانی که DevTools باز نیست:

  1. برای مثال، DevTools را در این صفحه آزمایشی باز کنید.
  2. به مسیر Application > Background services > Push Messaging بروید و کلیک کنید. ضبط کنید. ضبط کن .

    پنل پیام‌رسانی فوری.

  3. در صفحه آزمایشی، گزینه فعال کردن اعلان‌های فشاری را فعال کنید، در صورت درخواست، روی «مجاز» کلیک کنید، پیامی تایپ کنید و آن را ارسال کنید. DevTools رویدادهای اعلان‌های فشاری را در جدول ثبت می‌کند.

    گزارش رویدادها در پنل پیام‌رسانی فوری.

  4. برای مشاهده جزئیات یک رویداد در فضای زیر جدول، روی آن کلیک کنید.

  5. می‌توانید DevTools را ببندید و ضبط را تا سه روز ادامه دهید. برای توقف ضبط، روی کلیک کنید. ایست. بس کن .

گزارش API

بعضی از خطاها فقط در مرحله تولید اتفاق می‌افتند. شما هرگز آنها را به صورت محلی یا در طول توسعه مشاهده نمی‌کنید زیرا کاربران واقعی، شبکه‌ها و دستگاه‌ها بازی را تغییر می‌دهند.

برای مثال، فرض کنید سایت جدید شما به نرم‌افزار شخص ثالثی متکی است که از document.write() برای بارگذاری اسکریپت‌های حیاتی استفاده می‌کند. کاربران جدید در سراسر جهان سایت شما را باز می‌کنند، اما ممکن است سرعت اتصال آنها از آنچه شما آزمایش کرده‌اید کمتر باشد. شما نمی‌دانید، سایت شما برای آنها شروع به خراب شدن می‌کند زیرا کروم در شبکه‌های کند، در برابر document.write() مداخله می‌کند. از طرف دیگر، ممکن است بخواهید APIهای منسوخ شده یا به زودی منسوخ شده‌ای را که ممکن است پایگاه کد شما از آنها استفاده کند، زیر نظر داشته باشید.

API گزارش‌دهی برای کمک به شما در نظارت بر فراخوانی‌های API منسوخ‌شده، نقض‌های امنیتی صفحه شما و موارد دیگر طراحی شده است. می‌توانید گزارش‌دهی را همانطور که در بخش «نظارت بر برنامه وب خود با API گزارش‌دهی» توضیح داده شده است، تنظیم کنید.

برای مشاهده گزارش‌های تولید شده توسط یک صفحه:

  1. به chrome://flags/#enable-experimental-web-platform-features بروید، ویژگی‌های Experimental Web Platform را روی Enabled تنظیم کنید و کروم را مجدداً راه‌اندازی کنید.
  2. DevTools را باز کنید و به Application > Background services > Reporting API بروید.

    گزارش‌های فهرست‌شده در API گزارش‌دهی

تب Reporting API به سه بخش تقسیم می‌شود:

  • جدول گزارش‌ها با اطلاعات زیر در مورد هر گزارش:
    • نشانی اینترنتی (URL) که باعث ایجاد گزارش شده است
    • نوع تخلف
    • گزارش وضعیت
    • نقطه پایانی مقصد
    • تولید شده در مهر زمانی
    • گزارش متن
  • بخش پیش‌نمایش متن گزارش . برای پیش‌نمایش متن گزارش، روی یک گزارش در جدول گزارش‌ها کلیک کنید.
  • بخش Endpoints با نمای کلی از تمام Endpointهای پیکربندی شده در سربرگ Reporting-Endpoints .

گزارش وضعیت

ستون وضعیت به شما می‌گوید که آیا کروم گزارش را با موفقیت ارسال کرده، در شرف ارسال آن است یا ناموفق بوده است.

وضعیت توضیحات
Success مرورگر گزارش را ارسال کرده و نقطه پایانی با کد موفقیت ( 200 یا کد پاسخ موفقیت دیگری 2xx ) پاسخ داده است.
Pending مرورگر در حال تلاش برای ارسال گزارش است.
Queued گزارش ایجاد شده است و مرورگر هنوز سعی در ارسال آن ندارد. در یکی از این دو حالت، گزارش به صورت Queued نمایش داده می‌شود:
  • گزارش جدید است و مرورگر منتظر است تا ببیند آیا گزارش‌های بیشتری قبل از ارسال آن می‌رسند یا خیر.
  • این گزارش جدید نیست؛ مرورگر قبلاً سعی در ارسال این گزارش داشته و ناموفق بوده است و قبل از تلاش مجدد، منتظر می‌ماند.
MarkedForRemoval پس از مدتی تلاش مجدد ( Queued )، مرورگر تلاش برای ارسال گزارش را متوقف کرده و به زودی آن را از فهرست گزارش‌های ارسالی خود حذف خواهد کرد.

گزارش‌ها، چه با موفقیت ارسال شوند و چه نشوند، پس از مدتی حذف می‌شوند.