فحص حركة بيانات الشبكة باستخدام أداة "فحص الشبكة"

تعرض "أداة فحص الشبكة" نشاط الشبكة في الوقت الفعلي على مخطط زمني، مع إظهار البيانات المرسلة والمستلمة. تتيح لك أداة Network Inspector (أداة فحص الشبكة) فحص كيف ومتى ينقل تطبيقك البيانات وتحسين الرمز البرمجي الأساسي بشكل مناسب.

لفتح عارض الشبكة، اتبع الخطوات التالية:

  1. من شريط التنقّل في "استوديو Android"، انقر على عرض > أدوات Windows > فحص التطبيق. بعد أن تتصل نافذة فحص التطبيق تلقائيًا بعملية تطبيق ما، اختَر Network Inspector (أداة فحص الشبكة) من علامات التبويب.
    • إذا لم تتصل نافذة فحص التطبيق بعملية فحص التطبيق تلقائيًا، فقد تحتاج إلى تحديد عملية التطبيق يدويًا.
  2. اختَر الجهاز والعملية المطلوب فحصها من خلال نافذة فحص التطبيق.

نظرة عامة على "أداة فحص الشبكة"

في أعلى نافذة Network Inspector (أداة فحص الشبكة)، يمكنك مشاهدة المخطط الزمني للحدث. انقر واسحب لتحديد جزء من المخطط الزمني وفحص عدد الزيارات.

نافذة Network Inspector (أداة فحص الشبكة)
الشكل 1. نافذة "Network Inspector" (أداة فحص الشبكة).

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

في الجزء أسفل المخطط الزمني، حدد إحدى علامات التبويب التالية لمزيد من التفاصيل حول نشاط الشبكة خلال الجزء المحدد من المخطط الزمني:

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

    فحص طلبات الشبكة حسب سلسلة محادثات التطبيق في عرض سلسلة المحادثات
    الشكل 2. افحص طلبات الشبكة حسب سلسلة محادثات التطبيق في عرض سلسلة المحادثات.
  • طريقة عرض القواعد: تساعد القواعد في اختبار سلوك تطبيقك عند الاستجابة لردود برموز حالة ورؤوس ونصوص مختلفة. عند إنشاء قاعدة جديدة، عليك تسمية القاعدة الجديدة وتضمين معلومات عن أصل الرد الذي تريد اعتراضه ضمن القسم الفرعي Origin. في قسم الاستجابة الفرعي، يمكنك تحديد موضع الرد وكيفية تعديله. على سبيل المثال، يمكنك ضبط القاعدة لتنفيذها على الردود التي لها رمز حالة معيّن، كما يمكنك تعديل رمز الحالة هذا. في القسمين الفرعيين قواعد العناوين وقواعد النص الأساسي، أنشئ قواعد فرعية تضيف عناوين أو نصوصًا لاستجابة أو تعدِّلها. يتم تطبيق القواعد بالترتيب الذي تم إدراجها. اختَر القاعدة التي تريد تفعيلها أو إيقافها من خلال وضع علامة في المربّع نشط بجانب القاعدة.

    أجزاء قواعد أداة فحص الشبكة وتفاصيل القواعد
    الشكل 3. أجزاء قواعد وتفاصيل القاعدة في أداة فحص الشبكة.

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

في علامتَي التبويب الرد والطلب، انقر على الرابط عرض تم تحليله لعرض النص المنسَّق. انقر على الرابط عرض المصدر لعرض النص الأولي.

التبديل بين النص الأولي والنص المنسَّق
الشكل 4. بدِّل بين النص الأولي والنص المنسَّق من خلال النقر على الرابط المناسب.

بالإضافة إلى عرض طلبات الشبكة لـ HttpsURLConnection، يتوافق "أداة فحص الشبكة" أيضًا مع OkHttp. تستخدم بعض مكتبات الشبكات التابعة لجهات خارجية، مثل Retrofit، OkHttp داخليًا، لذلك يتيح لك تطبيق Network Inspector (أداة فحص الشبكة) فحص نشاطها على الشبكة. يستخدم نموذج التطبيق Now في Android OkHttp لعمليات الشبكة ويشكّل مكانًا جيدًا للاطلاع على تطبيقه عمليًا.

إذا كنت تستخدم واجهة برمجة التطبيقات HttpsURLConnection، لن تظهر لك سوى العناوين في علامة التبويب الطلب التي تضمّنها في الرمز البرمجي باستخدام الطريقة setRequestProperty كما هو موضّح في النموذج التالي:

Kotlin

val url = URL(MY_URL_EN)
val urlConnection: HttpsURLConnection = url.openConnection() as HttpsURLConnection
...
// Sets acceptable encodings in the request header.
urlConnection.setRequestProperty("Accept-Encoding", "identity")

Java

URL url = new URL(MY_URL_EN);
HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection();
//...
// Sets acceptable encodings in the request header.
urlConnection.setRequestProperty("Accept-Encoding", "identity");

تحديد مشاكل الاتصال بالشبكة وحلّها

إذا اكتشفت "أداة فحص الشبكة" قيم حركة المرور ولكن لم تتمكن من تحديد أي طلبات شبكة متوافقة، ستتلقّى رسالة الخطأ التالية:

**Network Inspector Data Unavailable:** There is no information for the
  network traffic you've selected.

في الوقت الحالي، لا تتوافق أداة Network Inspector إلا مع مكتبتَي HttpsURLConnection وOkHttp لاتصالات الشبكة. إذا كان تطبيقك يستخدم مكتبة أخرى للاتصال بالشبكة، قد لا تتمكن من عرض نشاط الشبكة في "أداة فحص الشبكة". إذا تلقيت رسالة الخطأ هذه لكنّ تطبيقك يستخدم السمة HttpsURLConnection أو OkHttp، يمكنك الإبلاغ عن خطأ أو البحث في أداة تتبُّع المشاكل لتضمين ملاحظاتك في تقرير حالي ذي صلة بمشكلتك. يمكنك أيضًا استخدام هذه الموارد لطلب دعم مكتبات إضافية.