Phân tích phiên đấu giá trong Protected Audience

Bạn có thể phân tích các phiên đấu giá trong Protected Audience theo cách trực quan hoặc bằng truy vấn SQL thông qua Perfetto. Công nghệ quảng cáo có thể sử dụng quá trình phân tích bằng Perfetto để đo lường hiệu quả của các phiên đấu giá trong Protected Audience, bao gồm:

  • Thời gian của CPU cho tập lệnh đặt giá thầu và tính điểm
  • Độ trễ của yêu cầu HTTP, chẳng hạn như dịch vụ khoá/giá trị
  • Tác động đến hiệu suất của bộ nhớ đệm nguội so với bộ nhớ đệm nóng
  • Số đối tượng tuỳ chỉnh nhiều so với ít
  • Tập hợp tín hiệu lớn so với nhỏ
  • Tập lệnh logic đặt giá thầu khác nhau cho mỗi đối tượng tuỳ chỉnh so với việc sử dụng cùng một tập lệnh cho tất cả các lượt đặt giá thầu

Thiết lập

  1. Sao chép kho lưu trữ Perfetto và kho lưu trữ Hộp cát về quyền riêng tư.

    git clone https://android.googlesource.com/platform/external/perfetto
    git clone https://github.com/android/privacy-sandbox-samples
    
  2. Trong Android Studio, hãy mở ứng dụng mẫu của Protected Audience trong thư mục privacy-sandbox-samples/Fledge/FledgeKotlin.

  3. Tạo và cài đặt ứng dụng mẫu trên thiết bị kiểm thử hoặc trình mô phỏng.

Tiến hành phiên đấu giá và theo dõi dấu vết Perfetto

  1. Thiết lập và triển khai điểm cuối HTTPS kiểm thử. Ghi lại URL của các điểm cuối được lưu trữ vì ứng dụng minh hoạ của Protected Audience cần có các điểm cuối đó để hoạt động.
  2. Chạy ứng dụng minh hoạ bằng URL điểm cuối kiểm thử được chỉ định. Thay thế <test-endpoint-url> bằng một URL điểm cuối được lưu trữ mà bạn đã ghi lại ở bước trước.

    adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \
      -e baseUrl "<test-endpoint-url>"
    
  3. Bật "Shoes CA" để đảm bảo có ít nhất 1 đối tượng tuỳ chỉnh đang hoạt động.

    Ảnh chụp màn hình ứng dụng minh hoạ. Shoes CA đã bật.
    Hình 1. Ứng dụng minh hoạ của Protected Audience.
  4. Ghi lại dấu vết bằng cách sử dụng tệp trace_config.textproto trong kho lưu trữ công cụ GitHub cho nhà phát triển của Hộp cát về quyền riêng tư:

    ./perfetto/tools/record_android_trace \
      -c path/to/trace_config.textproto
    
  5. Nhấn vào nút "Run Ad Selection" (Chạy lựa chọn quảng cáo) và chờ kết quả phiên đấu giá. Khi phiên đấu giá hoàn tất, kết quả sẽ hiển thị một thông báo như "Would display ad from http://example.com/bidding/render_shoes" (Có thể hiển thị quảng cáo từ http://example.com/bidding/render_shoes).

  6. Trong dòng lệnh, hãy kết thúc (CTRL + C) chương trình record_android_trace để kết thúc quá trình theo dõi. Giao diện người dùng Perfetto sẽ mở trong trình duyệt với dữ liệu theo dõi đã tải.

Khám phá dấu vết trong Perfetto một cách trực quan

  1. Tìm "RunOnDeviceAdSelection" bằng thanh địa chỉ ở đầu giao diện người dùng. Nhấp vào Enter để hoàn tất tìm kiếm và hiển thị kết quả:

    Giao diện người dùng Perfetto xem xét phiên đấu giá trong Protected Audience. Những kênh như RunOnDeviceAdSelection và RunBidding đều hiển thị.
    Hình 2. Phiên đấu giá trong Protected Audience cho một người mua trong Perfetto.
  2. Nhấp vào một dấu vết để kiểm tra. Thông tin chi tiết như độ trễ thực thi xuất hiện tại đây.

    Giao diện người dùng Perfetto kiểm tra một phân đoạn dấu vết. Thông tin chi tiết về độ trễ hiển thị.
    Hình 3. Kiểm tra một phân đoạn dấu vết.

Phân đoạn dấu vết riêng của Protected Audience

Phiên đấu giá trong Protected Audience là một quy trình phức tạp bao gồm nhiều phân đoạn được dấu vết Perfetto ghi lại. Bảng này ghi lại nội dung của từng phân đoạn dấu vết.

Giờ Phân đoạn Mô tả Tần số
Trước phiên đấu giá RunOnDeviceAdSelection Phiên đấu giá chạy khép kín Theo phiên đấu giá
Đặt giá thầu (bên mua) FilterContextualAds Thực hiện cài đặt ứng dụng và lọc giới hạn tần suất trên quảng cáo theo bối cảnh Theo phiên đấu giá
GetBuyersCustomAudience Tải đối tượng tuỳ chỉnh của người mua từ cơ sở dữ liệu Theo người mua
FilterCustomAudiences Thực hiện cài đặt ứng dụng và lọc giới hạn tần suất trên đối tượng tuỳ chỉnh Theo phiên đấu giá
GetTrustedBiddingSignals Tải tín hiệu đặt giá thầu của người mua Theo người mua
RunBiddingPerCustomAudience Đặt giá thầu quảng cáo cho một đối tượng tuỳ chỉnh Theo đối tượng tuỳ chỉnh
GetBuyerDecisionLogic Tải JavaScript của người mua từ mạng hoặc cơ sở dữ liệu, nếu được lưu vào bộ nhớ đệm Theo đối tượng tuỳ chỉnh
RunBidding Thực thi JavaScript cho người mua Theo người mua
GenerateBids Thực thi JavaScript cho đối tượng tuỳ chỉnh Theo đối tượng tuỳ chỉnh
Tính điểm (bên bán) GetTrustedScoringSignals Tải tín hiệu tính điểm của người bán Theo người bán
RunAdScoring Thực thi JavaScript để tính điểm Theo phiên đấu giá
ScoreAd Thực thi JavaScript cho quảng cáo Theo quảng cáo
GetAdSelectionLogic Tải logic lựa chọn quảng cáo của người bán Theo phiên đấu giá
RunAdOutcomeSelection Lọc cuối cùng Theo phiên đấu giá
Sau phiên đấu giá PersistOnDeviceAdSelection Ghi kết quả phiên đấu giá vào cơ sở dữ liệu Theo phiên đấu giá

Truy vấn độ trễ thực thi trung bình

Perfetto có thể sử dụng các truy vấn SQL để đo lường chính xác những gì đang diễn bên trong một dấu vết cụ thể.

Phần này trình bày cách đo độ trễ thực thi trung bình để thực thi JavaScript.

  1. Trong Perfetto, hãy chuyển đến "Query (SQL)" (Truy vấn (SQL)) trong ngăn điều hướng bên trái.
  2. Nhập truy vấn sau:

    SELECT AVG(dur)
    FROM slice
    WHERE slice.name GLOB 'FetchPayload';
    
  3. Chạy truy vấn và kiểm tra kết quả.

    Kết quả truy vấn SQL. Độ trễ trung bình là 17693688 nano giây.
    Hình 4. Truy vấn SQL tính theo nano giây.