Thiết lập proxy Charles cho SDK quảng cáo trên thiết bị di động của Google trên phiên bản Android N trở lên

Trên Android N trở lên, các lệnh gọi quảng cáo chỉ xuất hiện trong Charles proxy khi bạn thực hiện các bước sau:

  1. Cài đặt chứng chỉ SSL Charles trên thiết bị của bạn và thiết lập proxy.
  2. Bật Proxy SSL cho ứng dụng di động của bạn.

Cài đặt chứng chỉ SSL Charles trên thiết bị của bạn và thiết lập proxy

Để sử dụng Charles làm proxy cho ứng dụng di động, bạn cần tải xuống và cài đặt Charles trên máy tính. Làm theo hướng dẫn của Charles để cài đặt chứng chỉ SSL trên trình mô phỏng Android hoặc thiết bị di động.

Việc sử dụng trình mô phỏng với một proxy sẽ đơn giản hơn vì trình mô phỏng đã kết nối với cùng một mạng Wi-Fi với máy tính chạy Charles. Khi sử dụng trình mô phỏng với một proxy, hãy đặt proxy thành localhost (http://127.0.0.1) và cổng mà proxy Charles đang chạy (có trong tuỳ chọn trình đơn Charles Proxy > Proxy Settings (Proxy > Cài đặt proxy)).

Nếu đang sử dụng thiết bị di động thực (điện thoại hoặc máy tính bảng), bạn cần kết nối thiết bị di động với cùng mạng Wi-Fi mà máy tính đang chạy Charles kết nối bằng chế độ cài đặt mạng nâng cao. Khi thiết lập chế độ cài đặt proxy cho thiết bị thực, hãy dùng lựa chọn Trợ giúp > Địa chỉ IP cục bộ trong trình đơn Charles để lấy địa chỉ IP của máy tính, rồi nhập địa chỉ này cho địa chỉ proxy trên thiết bị (bạn phải kết nối cùng mạng Wi-Fi thì mới thực hiện được). Sử dụng cổng mà proxy Charles đang chạy.

Bật Proxy SSL cho ứng dụng di động

Để Charles chặn lưu lượng truy cập SSL của ứng dụng di động, bạn sẽ cần khai báo rằng ứng dụng của bạn có thể tin tưởng chứng chỉ SSL do người dùng cung cấp.

Trước tiên, bạn cần thêm một tệp tài nguyên XML mới cho Cấu hình bảo mật mạng trong

<network-security-config>
   <debug-overrides>
       <trust-anchors>
           <!-- Trust user added CAs while debuggable only -->
           <certificates src="user" />
       </trust-anchors>
   </debug-overrides>
</network-security-config>

Tiếp theo, hãy cập nhật tệp AndroidManifest.xml để sử dụng cấu hình bảo mật mạng.

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

Sau đó, bạn có thể chạy ứng dụng di động và tìm các yêu cầu quảng cáo trong nhật ký Charles.