הגדרת שרת proxy של Charles ל-Google Mobile Ads SDK ב-Android N ואילך

בחירת פלטפורמה: Android Android (Legacy)

ב-Android N ומעלה, בקשות להצגת מודעות גלויות ב-Charles proxy רק כשמבצעים את השלבים הבאים:

  1. מעדכנים את Google Play Services בנייד.
  2. מפעילים מעקב ברשת במכשיר הנייד.
  3. מתקינים את אישור ה-SSL של Charles במכשיר ומגדירים שרת proxy.
  4. מפעילים את SSL Proxy באפליקציה לנייד.

עדכון של Google Play Services בנייד

אם אתם משתמשים באמולטור והקטע של Google Play לא מופיע בתפריט הצדדי, יכול להיות שאתם צריכים לעדכן את Android Studio. מורידים את תמונות המערכת העדכניות בהגדרת מכשיר וירטואלי ומשתמשים בתמונת מערכת עם Google Play ביעד שלה.

בתפריט הצד, בודקים אם יש עדכונים ל-Google Play Services ומעדכנים לגרסה האחרונה.

במכשיר נייד פיזי (טלפון או טאבלט), אתם יכולים לחפש את Google Play או ללחוץ על הקישור הזה כדי לפתוח את Google Play ישירות.

הפעלת מעקב ברשת במכשיר הנייד

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

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

התקנת אישור SSL של Charles במכשיר והגדרת שרת proxy

כדי להשתמש ב-Charles כשרת proxy לאפליקציה, צריך להוריד את Charles ולהתקין אותו במחשב.

כדי לשמור את האישור כקובץ .pem או .cer, בוחרים באפשרות Help > SSL Proxying > Save Charles Root Certificate. כדי להתקין את האישור במכשיר, פועלים לפי ההנחיות בקטע Help > SSL Proxying (עזרה > שימוש ב-SSL בשרת Proxy).

אם אתם משתמשים באמולטור Android עם שרת proxy, הגדירו את כתובת ה-proxy ל-http://127.0.0.1. מגדירים את היציאה לערך שמוצג ב-Charles מתוך Proxy > הגדרות לשרת proxy.

אם אתם משתמשים במכשיר פיזי, מחברים את המכשיר לאותה רשת Wi-Fi שאליה מחובר המחשב. כדי להגדיר את ה-proxy, פותחים את ההגדרות המתקדמות של הרשת במכשיר. איך להתחבר לרשתות Wi-Fi בטלפון Pixel ב-Charles, בוחרים באפשרות Help (עזרה) > Local IP Address (כתובת IP מקומית) כדי למצוא את כתובת ה-IP. במכשיר, מזינים את כתובת ה-IP מ-Charles ואת היציאה של Charles בתור ה-Proxy.

הפעלת שרת proxy של SSL באפליקציה לנייד

כדי ש-Charles יוכל ליירט את תנועת ה-SSL של האפליקציה לנייד, צריך להצהיר שהאפליקציה יכולה לתת אמון באישורי SSL. אתם יכולים לתת אמון באישורים שמשתמשים התקינו או להטמיע את האישור של Charles כמשאב גולמי באפליקציה. לדוגמה, אתם יכולים לשמור את האישור בקובץ res/raw/charles_cert.pem.

קודם מוסיפים קובץ משאבים חדש מסוג XML בשביל הגדרת אבטחת הרשת בקובץ res/xml/network_security_config.xml:

<network-security-config>
   <debug-overrides>
       <trust-anchors>
           <!-- Trust Charles SSL certificate stored in res/raw -->
           <certificates src="@raw/charles_cert" />
           <!-- Trust user added CAs while debuggable only -->
           <certificates src="user" />
       </trust-anchors>
   </debug-overrides>
</network-security-config>

בשלב הבא, מעדכנים את הקובץ AndroidManifest.xml כך שישתמש בהגדרת אבטחת הרשת.

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
    <application ...
                 android:networkSecurityConfig="@xml/network_security_config"
                 ... >
        ...
    </application>
</manifest>

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