การตั้งค่า Charles Proxy สําหรับ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google ใน Android N ขึ้นไป

ใน Android N ขึ้นไป การเรียกโฆษณาจะปรากฏในพร็อกซี Charles ก็ต่อเมื่อทำตามขั้นตอนต่อไปนี้เท่านั้น

  1. อัปเดตบริการ Google Play บนอุปกรณ์เคลื่อนที่
  2. เปิดใช้การติดตามการทำงานของเครือข่ายในอุปกรณ์เคลื่อนที่
  3. ติดตั้งใบรับรอง SSL ของ Charles ในอุปกรณ์และตั้งค่าพร็อกซี
  4. เปิดใช้พร็อกซี SSL สำหรับแอปบนมือถือ

อัปเดตบริการ Google Play บนอุปกรณ์เคลื่อนที่

สำหรับโปรแกรมจำลอง หากไม่เห็นส่วน Google Play ในเมนูด้านข้าง คุณอาจต้องอัปเดต Android Studio ดาวน์โหลดอิมเมจระบบล่าสุดในการกำหนดค่าอุปกรณ์เสมือนจริง และใช้อิมเมจระบบที่มี Google Play ในเป้าหมาย

ใช้เมนูด้านข้างเพื่อตรวจสอบและอัปเดตบริการ Google Play เป็นเวอร์ชันล่าสุด

สำหรับอุปกรณ์เคลื่อนที่จริง (โทรศัพท์หรือแท็บเล็ต) คุณสามารถค้นหา Google Play หรือไปที่ลิงก์นี้เพื่อเปิด Google Play โดยตรง

เปิดใช้การติดตามการทำงานของเครือข่ายบนมือถือ

หากต้องการเปิดการติดตามการทำงานของเครือข่าย ให้เปิดใช้ตัวเลือกสำหรับนักพัฒนาแอปในอุปกรณ์ โปรดดูรายละเอียดที่หัวข้อกำหนดค่าตัวเลือกสำหรับนักพัฒนาแอปในอุปกรณ์

เปิดแอปการตั้งค่า Google แล้วเลือก Google > โฆษณา > เปิดใช้การบันทึกการแก้ไขข้อบกพร่องสำหรับโฆษณา ดูรายละเอียดได้ที่การติดตามการทำงานของเครือข่าย

ติดตั้งใบรับรอง SSL ของ Charles ในอุปกรณ์และตั้งค่าพร็อกซี

หากต้องการใช้ Charles เป็นพร็อกซีสำหรับแอป ให้ดาวน์โหลดและติดตั้ง Charles ในคอมพิวเตอร์

หากต้องการบันทึกใบรับรองเป็นไฟล์ .pem หรือ .cer ให้เลือกHelp > SSL Proxying > Save Charles Root Certificate หากต้องการติดตั้งใบรับรองในอุปกรณ์ ให้ทำตามข้อความแจ้งในความช่วยเหลือ > พร็อกซี SSL

หากใช้โปรแกรมจำลองของ Android ที่มีพร็อกซี ให้ตั้งค่าที่อยู่พร็อกซีเป็น http://127.0.0.1 ตั้งค่าพอร์ตเป็นค่าที่แสดงใน Charles จากพร็อกซี > การตั้งค่าพร็อกซี

หากใช้อุปกรณ์จริง ให้เชื่อมต่ออุปกรณ์กับเครือข่าย Wi-Fi เดียวกันกับคอมพิวเตอร์ หากต้องการตั้งค่าพร็อกซี ให้เปิดการตั้งค่าเครือข่ายขั้นสูงของอุปกรณ์ ดูรายละเอียดได้ที่หัวข้อเชื่อมต่อเครือข่าย Wi-Fi ในโทรศัพท์ Pixel ใน Charles ให้เลือกความช่วยเหลือ > ที่อยู่ IP ในเครื่องเพื่อค้นหาที่อยู่ IP ของคุณ ในอุปกรณ์ ให้ป้อนที่อยู่ IP จาก Charles และพอร์ต Charles เป็นพร็อกซี

เปิดใช้พร็อกซี 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 ได้