Tối ưu hóa hạn mức

Mọi ứng dụng sử dụng API Display & Video 360 đều bắt buộc phải tối ưu hoá hạn mức. Việc tối ưu hoá mức sử dụng hạn mức sẽ cải thiện hiệu suất bằng cách tinh giản các yêu cầu API và giúp bạn tránh lỗi được trả về khi vượt quá giới hạn tốc độ đã đặt.

Trang này trình bày chi tiết các phương pháp chung hay nhất và nêu bật những tính năng bổ sung trong API Display & Video 360 có thể giúp giảm mức sử dụng hạn mức của bạn.

Đưa ra yêu cầu đồng thời cho nhiều nhà quảng cáo khác nhau

Phần lớn các phương thức trong API Display & Video 360 đều chỉ định nhà quảng cáo trong URL. Ngoài hạn mức trên toàn dự án, giới hạn tỷ lệ"mỗi nhà quảng cáo trên mỗi dự án" hạn chế hơn đối với các phương thức này còn được thực thi cho các phương thức này khi thực hiện các lệnh gọi chỉ định cùng một nhà quảng cáo.

Để tối ưu hoá hạn mức này, hãy giới hạn các yêu cầu đồng thời đối với những yêu cầu chỉ định các nhà quảng cáo khác nhau.

Sử dụng các tham số filterorderBy

Sử dụng các phương thức list thay vì các phương thức get khi truy xuất nhiều tài nguyên. Tuy nhiên, các lệnh gọi list vẫn có thể sử dụng nhiều hạn mức do các giới hạn về kích thước trang. Nếu chỉ cần truy xuất một tập hợp con phản hồi danh sách đầy đủ, bạn có thể tối ưu hoá mức sử dụng hạn mức bằng cách tận dụng các tham số filterorderBy không bắt buộc.

Tham số filter cho phép bạn giới hạn các tài nguyên được truy xuất bằng lệnh gọi list đến những tài nguyên có thuộc tính tuân thủ các biểu thức nhất định. Tham số này rất hữu ích khi cố gắng truy xuất:

  • Một tài nguyên cụ thể có mã nhận dạng không xác định nhưng có các thuộc tính đã biết. Nếu tìm kiếm một tài nguyên cụ thể, bạn có thể lọc danh sách được trả về theo các thuộc tính đã biết của tài nguyên mong muốn. Ví dụ: lọc mục hàng theo displayName đã biết, mẫu quảng cáo theo creativeType dự kiến và nguồn khoảng không quảng cáo theo exchange có liên quan.
  • Tài nguyên liên quan. Các tài nguyên trong Display & Video 360 thường được liên kết với nhau. Bạn có thể sử dụng bộ lọc để hạn chế tài nguyên được trả về ở những tài nguyên có mối quan hệ cụ thể với tài nguyên khác. Ví dụ: truy xuất tất cả đơn đặt hàng quảng cáo bên dưới một campaignId cụ thể và tất cả mẫu quảng cáo được chỉ định cho một mục hàng.
  • Chỉ những tài nguyên có thuộc tính có thể thao tác. Chức năng API cho phép bạn dễ dàng kiểm tra trạng thái của tài nguyên và phản ứng theo phương thức lập trình. Khi sử dụng bộ lọc, bạn có thể sử dụng lệnh gọi list để chỉ lấy tài nguyên khi cần thực hiện hành động. Ví dụ: truy xuất mọi mục hàng hiển thị một lineItemWarningMessage có thể thao tác, tất cả đơn đặt hàng quảng cáo đã được cập nhật kể từ một ngày giờ nhất định hoặc tất cả mẫu quảng cáoapprovalStatus không thành công.

Tham số orderBy cho phép bạn sắp xếp các tài nguyên được truy xuất theo thuộc tính cụ thể, tăng dần hoặc giảm dần. Bạn có thể sử dụng orderBy, đặc biệt là khi sử dụng cùng với filter, để giới hạn số lượng trang cần di chuyển trước khi tìm một tài nguyên cụ thể. Thao tác này cũng cho phép bạn dễ dàng lấy giới hạn trên và giới hạn dưới của danh sách tài nguyên. Ví dụ: tính năng đặt hàng theo updateTime sẽ cho phép bạn nhanh chóng tìm thấy mục hàng hoặc đơn đặt hàng quảng cáo được cập nhật gần đây nhất của một nhà quảng cáo.

Sử dụng các hàm hàng loạt và trên toàn tài nguyên

API Display & Video 360 cung cấp một số hàm có hàng loạt và trên toàn tài nguyên, giúp thực thi nhiều thao tác trong một yêu cầu duy nhất. Ví dụ về các loại hàm này bao gồm:

  • Chỉnh sửa hàng loạt trang web thuộc một kênh duy nhất. Các kênh có thể được chỉ định hàng nghìn trang web. Thay vì quản lý danh sách trang web của một kênh có từng yêu cầu create hoặc delete, bạn có thể dùng một yêu cầu bulkEdit hoặc replace để thêm và xoá nhiều trang web hoặc thay thế toàn bộ nội dung của một kênh tương ứng.
  • Quản lý toàn bộ bộ tiêu chí nhắm mục tiêu của một nhà quảng cáo. Bộ nhắm mục tiêu của tài nguyên được chỉ định cho nhiều loại nhắm mục tiêu. Các hàm nhắm mục tiêu ở cấp tài nguyên (chẳng hạn như listAssignedTargetingOptionseditAssignedTargetingOptions trong dịch vụ advertisers) cho phép bạn truy xuất, tạo và xoá tiêu chí nhắm mục tiêu trên nhiều loại tiêu chí nhắm mục tiêu trong một yêu cầu. Điều này giúp giảm chi phí hạn mức cho việc đặt bộ nhắm mục tiêu của nhà quảng cáo thành một yêu cầu duy nhất.
  • Đặt cùng một giới hạn nhắm mục tiêu trên nhiều mục hàng. Nếu cần thực hiện cùng các thay đổi đối với tiêu chí nhắm mục tiêu trên nhiều mục hàng cùng một lúc, bạn có thể thực hiện việc này bằng một yêu cầu advertisers.lineItems.bulkEditAssignedTargetingOptions duy nhất.
  • Kích hoạt hoặc tạm dừng nhiều mục hàng. Bạn phải kích hoạt các mục hàng sau khi tạo trước khi bắt đầu phân phát. Nếu đang tạo nhiều mục hàng liên tiếp, bạn có thể kích hoạt tất cả các mục hàng đó bằng một yêu cầu advertisers.lineItems.bulkUpdate duy nhất. Bạn có thể sử dụng cùng một phương thức để tạm dừng nhiều mục hàng nhằm ngăn các mục hàng đó phân phát.

Lưu vào bộ nhớ đệm và kiểm tra các mã nhận dạng được sử dụng thường xuyên

Nhiều thao tác trong API Display & Video 360 yêu cầu sử dụng mã nhận dạng tài nguyên được truy xuất thông qua chính API, bao gồm cả mã tuỳ chọn nhắm mục tiêu, mã đối tượng của Google và nhiều mã khác. Để tránh việc truy xuất các mã nhận dạng qua API mỗi lần sử dụng, bạn nên lưu trữ các mã nhận dạng này trên máy.

Tuy nhiên, một số tài nguyên có thể không được dùng nữa, bị xoá hoặc không còn được sử dụng. Việc cố gắng sử dụng mã nhận dạng cho các tài nguyên này có thể trả về lỗi. Do đó, bạn nên kiểm tra tất cả các mã nhận dạng đã lưu vào bộ nhớ đệm hằng tuần bằng cách sử dụng phương thức get hoặc list đã lọc thích hợp để xác nhận rằng mã vẫn có thể truy xuất được và có trạng thái dự kiến.

Triển khai thuật toán thời gian đợi luỹ thừa cho các hoạt động diễn ra trong thời gian dài

Trong khi thăm dò để xem một hoạt động diễn ra trong thời gian dài (chẳng hạn như tác vụ tải SDF xuống) đã hoàn tất hay chưa, hãy sử dụng chiến lược thời gian đợi luỹ thừa để giảm tần suất và tổng số yêu cầu được gửi.

Thuật toán thời gian đợi luỹ thừa là một chiến lược xử lý lỗi chuẩn cho các ứng dụng mạng, trong đó ứng dụng thực hiện hoạt động thử lại các yêu cầu theo định kỳ trong khoảng thời gian tăng dần. Được sử dụng đúng cách, thuật toán thời gian đợi luỹ thừa giúp tăng hiệu suất sử dụng băng thông, giảm số lượng yêu cầu cần thiết để nhận được phản hồi thành công và tối đa hoá thông lượng yêu cầu trong các môi trường đồng thời.

Bạn có thể tìm thấy chiến lược thời gian đợi luỹ thừa được triển khai với thư viện ứng dụng trong các ví dụ về mã tải tệp SDF xuống. Quy trình triển khai thời gian đợi luỹ thừa đơn giản như sau:

  • Gửi yêu cầu sdfdownloadtasks.operations.get đến API.
  • Truy xuất đối tượng thao tác.
    • Nếu trường done không đúng, điều đó cho biết bạn nên thử lại yêu cầu.
    • Đợi 5 giây + một số mili giây ngẫu nhiên rồi thử lại yêu cầu.
  • Truy xuất đối tượng thao tác.
    • Nếu trường done không đúng, điều đó cho biết bạn nên thử lại yêu cầu.
    • Đợi 10 giây + một số mili giây ngẫu nhiên rồi thử lại yêu cầu.
  • Truy xuất đối tượng thao tác.
    • Nếu trường done không đúng, điều đó cho biết bạn nên thử lại yêu cầu.
    • Đợi 20 giây + một số mili giây ngẫu nhiên rồi thử yêu cầu lại.
  • Truy xuất đối tượng thao tác.
    • Nếu trường done không đúng, điều đó cho biết bạn nên thử lại yêu cầu.
    • Đợi 40 giây + một số mili giây ngẫu nhiên rồi thử yêu cầu lại.
  • Truy xuất đối tượng thao tác.
    • Nếu trường done không đúng, điều đó cho biết bạn nên thử lại yêu cầu.
    • Đợi 80 giây + một số mili giây ngẫu nhiên rồi thử yêu cầu lại.
  • Tiếp tục mẫu này cho đến khi đối tượng truy vấn được cập nhật hoặc đạt đến thời gian tối đa đã trôi qua.