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

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

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

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

หากต้องการใช้ Charles เป็นพร็อกซีสำหรับแอปบนอุปกรณ์เคลื่อนที่ คุณจะต้องดาวน์โหลดและติดตั้ง Charles ในคอมพิวเตอร์ ทำตามวิธีการของ Charles เพื่อติดตั้งใบรับรอง SSL ใน โปรแกรมจำลอง Android หรืออุปกรณ์เคลื่อนที่

การใช้โปรแกรมจำลองกับพร็อกซีทำได้ง่ายกว่าเนื่องจาก โปรแกรมจำลองเชื่อมต่อกับเครือข่าย Wi-Fi เดียวกันกับคอมพิวเตอร์ ที่เรียกใช้ Charles อยู่แล้ว เมื่อใช้โปรแกรมจำลองกับพร็อกซี ให้ตั้งค่าพร็อกซีเป็น localhost (http://127.0.0.1) และพอร์ตที่พร็อกซี Charles ทำงานอยู่ (ดูได้ในตัวเลือกเมนูของ Charles ที่Proxy > Proxy Settings)

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

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