בדיקה של התנועה ברשת באמצעות 'בודק הרשת'

'סוקר הרשת' מציג את פעילות הרשת בזמן אמת על ציר הזמן, שנשלחו והתקבלו. בודק הרשת מאפשר לבדוק איך ומתי מעבירה נתונים ומבצעים אופטימיזציה של הקוד הבסיסי בהתאם.

כדי לפתוח את 'בודק הרשת', מבצעים את השלבים הבאים:

  1. בסרגל הניווט של Android Studio, בוחרים באפשרות תצוגה > כלי Windows > בדיקת אפליקציות. אחרי שחלון בדיקת האפליקציה מתחבר באופן אוטומטי אל תהליך של אפליקציה, בוחרים באפשרות בודק רשת מהכרטיסיות.
    • אם חלון הבדיקה של האפליקציה לא מתחבר לתהליך של אפליקציה באופן אוטומטי, ייתכן שתצטרכו לבחור תהליך אפליקציה באופן ידני.
  2. בוחרים את המכשיר ואת תהליך האפליקציה שרוצים לבדוק מתוך החלון של בדיקת האפליקציה.

סקירה כללית של הכלי לבדיקת רשתות

בחלק העליון של החלון 'בודק הרשת', ניתן לראות את ציר הזמן של האירוע. לוחצים וגוררים כדי לבחור חלק מציר הזמן ולבדוק את התנועה.

החלון של 'בודק הרשת'
איור 1. החלון של 'בודק הרשת'.

בחלונית הפרטים, תרשים התזמון יכול לעזור לכם לזהות איפה הביצועים עשויות להתרחש בעיות. תחילת הקטע הצהוב הבייט הראשון של הבקשה שנשלחת. תחילת הקטע הכחול תואם לבייט הראשון של התגובה שמתקבלת. סוף הקטע הכחול תואם לבייט הסופי של התשובה שהתקבלה.

בחלונית שמתחת לציר הזמן, בוחרים אחת מהאפשרויות בכרטיסיות הבאות ניתן למצוא פרטים נוספים על הפעילות ברשת במהלך החלק הנבחר בציר הזמן:

  • Connection View (תצוגת חיבור): רשימה של קבצים שנשלחו או התקבלו במהלך חלק נבחר של ציר הזמן בכל ה-threads של המעבד (CPU) של האפליקציה שלך. עבור בכל בקשה, אפשר לבדוק את הגודל, הסוג, הסטטוס והשידור משך הזמן. כדי למיין את הרשימה הזו, לוחצים על אחת מכותרות העמודות. אפשר לראות גם פירוט של החלק שנבחר בציר הזמן, ומוצגת מתי כל קובץ נשלח או התקבל.
  • תצוגת שרשור: מציגה את הפעילות ברשת בכל המעבד של האפליקציה שרשורים. כפי שמתואר באיור 2, התצוגה הזו מאפשרת לכם לבדוק אילו ה-threads אחראים לכל בקשת רשת.

    בדיקת בקשות רשת לפי שרשור של אפליקציות בתצוגת השרשור
    איור 2. לבדוק את בקשות הרשת לפי שרשור האפליקציות תצוגת שרשור.
  • תצוגת הכללים: הכללים עוזרים לבדוק איך האפליקציה מתנהגת תשובות עם קודי סטטוס, כותרות וגוף שונים. כשיוצרים לתת שם לכלל החדש, ולכלול מידע על המקור את התגובה שרוצים ליירט בקטע המשנה Origin. ב תגובה, תוכלו לציין איפה ואיך לשנות את תשובה. לדוגמה, אפשר להגדיר שהכלל יופעל בתשובות עם קוד סטטוס ספציפי וכן לשנות את קוד הסטטוס. ב כללי כותרת ופרקי משנה של כללי גוף, יוצרים כללי משנה שמוסיפים או לשנות את הכותרות או את גופי התגובות. הכללים מוחלים לפי הסדר שבו רשום, כדי לבחור איזה כלל להפעיל או להשבית, מסמנים את התיבה פעיל שליד הכלל.

    החלוניות 'כללים של מפקח רשת' ו'פרטי כלל'
    איור 3. הכללים ופרטי הכללים של הכלי לבדיקת רשתות חלוניות.

בתצוגת החיבור או בתצוגת שרשור, לוחצים על שם בקשה כדי לבחון מידע מפורט על הנתונים שנשלחו או התקבלו. אפשר ללחוץ על הכרטיסיות כדי לראות את הכותרת וגוף התשובה, כותרת וגוף הבקשה או מקבץ הקריאה.

בכרטיסיות תגובה ובקשה, לוחצים על הקישור הצגת ניתוח כדי להציג טקסט מעוצב. לוחצים על הקישור הצגת מקור כדי להציג טקסט גולמי.

מעבר בין טקסט גולמי לטקסט מעוצב
איור 4. מעבר בין טקסט גולמי לטקסט מעוצב באמצעות לחיצה על הקישור המתאים.

בנוסף להצגת בקשות רשת עבור HttpsURLConnection, רשת הבודק תומך גם ב-OkHttp. ספריות רשת מסוימות של צד שלישי, כמו Retrofit, שימוש ב-OkHttp באופן פנימי, כך ש'בודק הרשת' מאפשר לכם לבדוק את הפעילות שלו ברשת. עכשיו באפליקציה לדוגמה ל-Android משתמש ב-OkHttp במסגרת פעולות הרשת שלו, ומומלץ לראות אותו פעולה.

אם משתמשים HttpsURLConnection API, תראה רק כותרות בכרטיסייה בקשה שכללת בקוד שלך באמצעות ה 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.

נכון לעכשיו, בודק הרשת תומך רק HttpsURLConnection ו-OkHttp ספריות לרשת בחיבורים. אם האפליקציה משתמשת בספריית חיבור אחרת לרשת, יכול להיות שלא יכולים להציג את הפעילות שלך ברשת ב'סוקר הרשת'. אם יש לכם קיבלת את הודעת השגיאה הזו, אבל האפליקציה שלך משתמשת ב-HttpsURLConnection או OkHttp, דיווח על באג או חיפוש הבעיה מכשיר מעקב כדי לכלול את המשוב שלך בדוח קיים שקשור לבעיה. שלך יכולים להשתמש במשאבים האלו גם כדי לבקש תמיכה בספריות נוספות.