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

ב-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 Services המינימלית שנדרשת היא 14.5.74.

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

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

כדי להפעיל מעקב אחר הרשת, צריך להפעיל את אפשרויות הפיתוח במכשיר. מפעילים את אפליקציית ההגדרות של Google ובוחרים באפשרות Google > מודעות > הפעלת רישום באגים במודעות. מדריך מפורט יותר זמין לבעלי אפליקציות ב-AdMob ולבעלי אתרים ב-Google Ad Manager.

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

כדי להשתמש ב-Charles כ-Proxy לאפליקציה לנייד, צריך להוריד את Charles ולהתקין אותו במחשב. פועלים לפי ההוראות של Charles כדי להתקין אישור SSL באמולטור של Android או במכשיר נייד.

פשוט יותר להשתמש באמולטור עם פרוקסי כי האמולטור כבר מחובר לאותה רשת Wi-Fi עם המחשב שבו פועל Charles. כשמשתמשים באמולטור עם שרת proxy, צריך להגדיר את ה-proxy ל-localhost ‏ (http://127.0.0.1) ואת היציאה שבה פועל שרת ה-proxy של Charles (אפשר למצוא אותה באפשרות בתפריט של Charles‏ Proxy > Proxy Settings).

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

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

כדי ש-Charles ייצור חסימה של תנועת ה-SSL של האפליקציה לנייד, צריך להצהיר שהאפליקציה יכולה לסמוך על אישור SSL שסופק על ידי המשתמש.

קודם צריך להוסיף קובץ משאבים חדש מסוג XML בשביל הגדרת אבטחת הרשת בקטע

<network-security-config>
   <debug-overrides>
       <trust-anchors>
           <!-- 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.