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

Trên Android N trở lên, các lệnh gọi quảng cáo chỉ hiển thị trong proxy Charles sau 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ị và thiết lập proxy.
  2. Bật Proxy SSL cho ứng dụng di động.

Cài đặt chứng chỉ SSL Charles trên thiết bị 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 Charles xuống và cài đặt trên máy tính. Hãy làm theo nội dung hướng dẫn của Charles để cài đặt chứng chỉ SSL trên trình mô phỏng hoặc thiết bị di động Android.

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 này được kết nối với cùng một mạng Wi-Fi mà máy tính chạy Charles đang kết nối. Khi sử dụng trình mô phỏng với một proxy, hãy đặt proxy thành máy chủ cục bộ (http://127.0.0.1) và cổng mà proxy Charles đang chạy (bạn có thể tìm thấy trong tuỳ chọn trình đơn Charles Proxy > Cài đặt proxy).

Nếu đang sử dụng một thiết bị di động thực (điện thoại hoặc máy tính bảng), bạn sẽ cần kết nối thiết bị di động với cùng một mạng Wi-Fi mà máy tính chạy Charles đang kết nối bằng cách sử dụ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 sử dụng tuỳ chọn trình đơn Charles Trợ giúp > Địa chỉ IP cục bộ để lấy địa chỉ IP của máy tính, nhập địa chỉ proxy trên thiết bị (để làm được việc này, bạn phải sử dụng cùng một mạng Wi-Fi). 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 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 sẽ 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 theo

<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.