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

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

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

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

نظرة عامة على Network Inspector (أداة فحص الشبكات)

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

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

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

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

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

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

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

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

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

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

بالإضافة إلى عرض طلبات الشبكة HttpsURLConnection، الشبكة تتوافق أداة الفحص أيضًا مع OkHttp. بعض مكتبات الشبكات التابعة لجهات خارجية، مثل التعديل، استخدِم OkHttp داخليًا، ولذلك يتيح لك Network Inspector (أداة فحص الشبكة) فحص نشاط الشبكة. تشير رسالة الأشكال البيانية نموذج تطبيق Now In 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 قيم زيارات ولكن لم يتمكن من تحديد أي منها شبكة متوافقة، ستتلقى رسالة الخطأ التالية:

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

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