Hỗ trợ tính năng nhắm mục tiêu theo đối tượng tuỳ chỉnh bằng FLEDGE

Gửi ý kiến phản hồi

Nội dung cập nhật gần đây

Tổng quan

Trong quảng cáo trên thiết bị di động, nhà quảng cáo thường muốn phân phát quảng cáo đến những người dùng có khả năng quan tâm dựa trên cách họ từng tương tác với ứng dụng của nhà quảng cáo. Ví dụ: nhà phát triển của SportingGoodsApp có thể muốn quảng cáo cho những người dùng đã để lại mặt hàng trong giỏ hàng, bằng cách hiển thị quảng cáo để nhắc người dùng hoàn tất giao dịch mua. Ngành quảng cáo thường mô tả ý tưởng chung này bằng các thuật ngữ như "tái tiếp thị" và "nhắm mục tiêu theo đối tượng tuỳ chỉnh".

Hiện nay, các trường hợp sử dụng này thường được triển khai bằng cách chia sẻ thông tin ngữ cảnh về cách hiển thị quảng cáo (chẳng hạn như tên ứng dụng) và thông tin riêng tư chẳng hạn như danh sách đối tượng có nền tảng công nghệ quảng cáo. Nhờ thông tin này, nhà quảng cáo có thể chọn các quảng cáo phù hợp trên máy chủ của họ.

FLEDGE trên Android bao gồm các API sau cho nền tảng công nghệ quảng cáo và nhà quảng cáo nhằm hỗ trợ cho những trường hợp sử dụng thông thường dựa trên hoạt động tương tác theo cách hạn chế việc chia sẻ cả giá trị nhận dạng trên nhiều ứng dụng và thông tin tương tác với ứng dụng của người dùng với bên thứ ba:

  1. Custom Audience API (API Đối tượng tuỳ chỉnh): Đây là trọng tâm của khái niệm trừu tượng "đối tượng tuỳ chỉnh", đại diện cho đối tượng có các ý định thông thường do nhà quảng cáo chỉ định. Thông tin về đối tượng được lưu trữ trên thiết bị và có thể được liên kết với các quảng cáo đề xuất phù hợp cho đối tượng đó và siêu dữ liệu tùy ý (chẳng hạn như tín hiệu đặt giá thầu). Thông tin này có thể được dùng làm cơ sở cho giá thầu của nhà quảng cáo, tính năng lọc và hiển thị quảng cáo.
  2. Ad Selection API (API chọn quảng cáo): API này cung cấp một khung thực hiện quy trình của nền tảng công nghệ quảng cáo. Quy trình này giúp tận dụng các tín hiệu trên thiết bị để xác định quảng cáo "giành chiến thắng" bằng cách cân nhắc các quảng cáo đề xuất được lưu trữ trên thiết bị và thực hiện việc xử lý thêm đối với các quảng cáo đề xuất được nền tảng công nghệ quảng cáo trả về thiết bị.
Hình 1. Biểu đồ quy trình hiển thị quy trình chọn quảng cáo và quản lý đối tượng tuỳ chỉnh trong Hộp cát về quyền riêng tư trên Android.

Ở cấp độ cao, quá trình tích hợp sẽ hoạt động như sau:

  1. SportingGoodsApp muốn nhắc người dùng mua các món hàng trong giỏ hàng nếu họ không hoàn tất giao dịch mua trong vòng 2 ngày. SportingGoodsApp sử dụng Custom Audience API để thêm người dùng vào danh sách đối tượng "có sản phẩm trong giỏ hàng". Nền tảng nêu trên sẽ quản lý và lưu trữ danh sách đối tượng này trên thiết bị để hạn chế việc chia sẻ với bên thứ ba. SportingGoodsApp hợp tác với một nền tảng công nghệ quảng cáo để hiển thị quảng cáo cho người dùng có trong danh sách đối tượng của ứng dụng đó. Nền tảng công nghệ quảng cáo quản lý siêu dữ liệu cho các danh sách đối tượng và cung cấp quảng cáo đề xuất. Những quảng cáo này sẽ được xem xét trong quy trình chọn quảng cáo. Nền tảng này có thể được định cấu hình để định kỳ tìm nạp quảng cáo dựa trên đối tượng đã cập nhật trong nền. Điều này giúp đảm bảo danh sách quảng cáo đề xuất dựa trên đối tượng luôn được cập nhật và không tương quan với các yêu cầu gửi đến máy chủ quảng cáo của bên thứ ba trong cơ hội quảng cáo (tức là những yêu cầu quảng cáo theo ngữ cảnh).

  2. Khi người dùng chơi FrisbeeGame trên cùng một thiết bị, họ có thể nhìn thấy quảng cáo nhắc họ hoàn tất giao dịch mua các món hàng trong giỏ hàng của SportingGoodsApp. Việc này có thể đạt được khi FrisbeeGame (được tích hợp SDK quảng cáo) gọi Ad Selection API để chọn quảng cáo giành chiến thắng cho người dùng dựa trên danh sách đối tượng bất kỳ mà họ có trong đó (trong ví dụ này là đối tượng tuỳ chỉnh "có sản phẩm trong giỏ hàng" do SportingGoodsApp tạo). Quy trình lựa chọn quảng cáo có thể được thiết lập để xem xét các quảng cáo được truy xuất từ máy chủ của nền tảng công nghệ quảng cáo, ngoài các quảng cáo trên thiết bị được liên kết với đối tượng tuỳ chỉnh cũng như các tín hiệu khác trên thiết bị. Quy trình này cũng có thể được tuỳ chỉnh thông qua nền tảng công nghệ quảng cáo và SDK quảng cáo bằng logic đặt giá thầu và tính điểm tuỳ chỉnh để đạt được mục tiêu quảng cáo phù hợp. Với cách tiếp cận này, dữ liệu về mối quan tâm hoặc hoạt động tương tác trong ứng dụng của người dùng sẽ chính là cơ sở cho việc chọn quảng cáo, trong khi vẫn giới hạn việc chia sẻ dữ liệu này với các bên thứ ba.

  3. SDK của nền tảng công nghệ quảng cáo hoặc ứng dụng phân phát quảng cáo sẽ hiển thị quảng cáo đã chọn.

  4. Nền tảng này sẽ hỗ trợ hoạt động báo cáo lượt hiển thị và kết quả chọn quảng cáo. Tính năng báo cáo này bổ sung cho API báo cáo phân bổ. Các nền tảng công nghệ quảng cáo có thể tuỳ chỉnh dựa trên nhu cầu báo cáo của các nền tảng đó.

Truy cập vào FLEDGE dành cho API Android

Các nền tảng công nghệ quảng cáo cần đăng ký để truy cập vào FLEDGE dành cho API Android. Hãy xem bài viết Đăng ký tài khoản Hộp cát về quyền riêng tư để biết thêm thông tin.

Quản lý đối tượng tuỳ chỉnh

Đối tượng tuỳ chỉnh

Đối tượng tuỳ chỉnh đại diện cho một nhóm người dùng do nhà quảng cáo xác định dựa trên các ý định hoặc mối quan tâm chung. Ứng dụng hoặc SDK có thể dùng đối tượng tuỳ chỉnh để chỉ ra một đối tượng cụ thể, chẳng hạn như ai đó đã "thêm mặt hàng vào giỏ hàng" hoặc "hoàn tất cấp độ dành cho người mới bắt đầu" trong một trò chơi. Nền tảng này duy trì và lưu trữ thông tin về đối tượng ngay trên thiết bị, đồng thời không cho biết người dùng thuộc đối tượng tuỳ chỉnh nào. Đối tượng tuỳ chỉnh khác với FLEDGE trên các nhóm mối quan tâm của Chrome. Ngoài ra, không thể chia sẻ đối tượng tuỳ chỉnh trên web và ứng dụng. Điều này nhằm hạn chế việc chia sẻ thông tin người dùng.

Ứng dụng của nhà quảng cáo hoặc SDK tích hợp có thể tham gia hoặc rời khỏi một đối tượng tuỳ chỉnh, dựa trên hoạt động tương tác của người dùng trong ứng dụng chẳng hạn.

Siêu dữ liệu về đối tượng tuỳ chỉnh

Mỗi đối tượng tuỳ chỉnh chứa siêu dữ liệu sau:

  • Chủ sở hữu: Tên gói của ứng dụng chủ sở hữu. Giá trị này được ngầm đặt thành tên gói của ứng dụng gọi.
  • Người mua: Mạng quảng cáo dành cho người mua quản lý các quảng cáo cho đối tượng tuỳ chỉnh này. Người mua cũng đại diện cho bên có thể truy cập vào đối tượng tuỳ chỉnh và tìm nạp thông tin quảng cáo phù hợp. Người mua được chỉ định theo định dạng eTLD+1.
  • Tên: Tên hoặc giá trị nhận dạng tuỳ ý của đối tượng tuỳ chỉnh, chẳng hạn như người dùng đã "bỏ giỏ hàng". Ví dụ: thuộc tính này có thể được dùng làm một trong các tiêu chí nhắm mục tiêu trong chiến dịch quảng cáo của nhà quảng cáo, hoặc một chuỗi truy vấn trong URL để tìm nạp mã đặt giá thầu.
  • Thời gian kích hoạt và thời gian hết hạn: Những trường này xác định khoảng thời gian khi đối tượng tuỳ chỉnh này có hiệu lực. Nền tảng nêu trên sẽ sử dụng thông tin này để chấm dứt tư cách thành viên của một đối tượng tuỳ chỉnh. Thời gian hết hạn không được vượt quá khoảng thời gian tối đa để giới hạn thời hạn của một đối tượng tuỳ chỉnh.
  • URL cập nhật hằng ngày: URL mà nền tảng sử dụng để tìm nạp quảng cáo đề xuất và siêu dữ liệu khác được xác định định kỳ trong các trường "Tín hiệu đặt giá thầu của người dùng" và "Tín hiệu đặt giá thầu đáng tin cậy". Để biết thêm thông tin chi tiết, hãy xem phần trình bày về cách tìm nạp quảng cáo đề xuất cho đối tượng tuỳ chỉnh.
  • Tín hiệu đặt giá thầu của người dùng: Các tín hiệu dành riêng cho nền tảng công nghệ quảng cáo đối với bất kỳ hoạt động đặt giá thầu quảng cáo tái tiếp thị nào. Ví dụ về các tín hiệu bao gồm: vị trí thô của người dùng, ngôn ngữ ưu tiên, v.v.
  • Dữ liệu đặt giá thầu đáng tin cậy: Các nền tảng công nghệ quảng cáo coi dữ liệu theo thời gian thực là cơ sở cho việc tính điểm và truy xuất quảng cáo. Ví dụ: một quảng cáo có thể hết ngân sách và cần phải dừng phân phát ngay lập tức. Công nghệ quảng cáo có thể xác định điểm cuối URL mà ở đó dữ liệu theo thời gian thực này có thể được tìm nạp và tập hợp khoá cần thiết để thực hiện tính năng tra cứu theo thời gian thực. Máy chủ xử lý yêu cầu này sẽ là máy chủ đáng tin cậy do nền tảng công nghệ quảng cáo quản lý.
  • URL logic đặt giá thầu: Là URL mà nền tảng sử dụng để tìm nạp mã đặt giá thầu từ nền tảng bên cầu. Nền tảng nêu trên sẽ thực hiện bước này khi phiên đấu giá quảng cáo được khởi tạo.
  • Quảng cáo: Là danh sách các quảng cáo đề xuất cho đối tượng tuỳ chỉnh. Danh sách này bao gồm siêu dữ liệu quảng cáo dành riêng cho nền tảng công nghệ quảng cáo và URL để hiển thị quảng cáo đó. Khi một phiên đấu giá được khởi tạo cho đối tượng tuỳ chỉnh, danh sách siêu dữ liệu quảng cáo sẽ được xem xét. Danh sách quảng cáo này sẽ được làm mới bằng điểm cuối URL cập nhật hằng ngày khi có thể. Do các hạn chế về tài nguyên trên thiết bị di động nên sẽ có giới hạn về số lượng quảng cáo có thể lưu trữ trong một đối tượng tuỳ chỉnh.

Uỷ quyền đối tượng tuỳ chỉnh

Việc định nghĩa và định cấu hình đối tượng tuỳ chỉnh truyền thống thường dựa vào các công nghệ phía máy chủ, cũng như hoạt động tích hợp do các công nghệ quảng cáo mang lại khi hợp tác với khách hàng, đối tác của đại lý và nhà quảng cáo. FLEDGE cho phép định nghĩa và định cấu hình đối tượng tuỳ chỉnh theo cách bảo vệ quyền riêng tư. Để tham gia một đối tượng tuỳ chỉnh, các công nghệ quảng cáo của Người mua không xuất hiện trên SDK trong các ứng dụng cần phải cộng tác với các công nghệ quảng cáo xuất hiện trên thiết bị, chẳng hạn như các đối tác đo lường trên thiết bị di động (MMP) và nền tảng bên cung (SSP). FLEDGE API hướng đến hỗ trợ những SDK này bằng cách cung cấp các giải pháp linh hoạt để quản lý đối tượng tuỳ chỉnh thông qua việc cho phép phương thức gọi trên thiết bị gọi quá trình tạo đối tượng tuỳ chỉnh, thay mặt cho người mua. Quá trình này gọi là uỷ quyền đối tượng tuỳ chỉnh. Hãy làm theo các bước sau để định cấu hình tính năng uỷ quyền đối tượng tuỳ chỉnh:

Tham gia một đối tượng tuỳ chỉnh

Bạn có thể tham gia một đối tượng tuỳ chỉnh theo 2 cách:

joinCustomAudience()

Một ứng dụng hoặc SDK có thể yêu cầu tham gia một đối tượng tuỳ chỉnh bằng cách gọi joinCustomAudience() sau khi tạo thực thể đối tượng CustomAudience với các thông số dự kiến. Dưới đây là ví dụ về đoạn mã minh hoạ:

CustomAudience audience = new CustomAudience(
    Buyer = "example-dsp.com",
    Name = "running-shoes",
    ActivationTime = now(),
    ExpirationTime = ActivationTime.plus(30 days),
    DailyUpdateURL = Uri.parse("https://..."),
    UserBiddingSignals = new JSONObject("{...}"),
    TrustedBiddingURL = Uri.parse("https://..."),
    TrustedBiddingKeys = {'key1","key2", ...,"key n"},
    BiddingLogicURL =  Uri.parse("https://..."),
    Ads = [new AdData(renderUrl = Uri.parse("https://..."),
           metadata = new JSONObject("{...}"), ...];

// Invoke ad services API to join a custom audience.
joinCustomAudience(audience);

fetchCustomAudience()

Ứng dụng hoặc SDK có thể yêu cầu tham gia một đối tượng tuỳ chỉnh thay mặt cho một công nghệ quảng cáo không xuất hiện trên thiết bị bằng cách gọi fetchCustomAudience() với các tham số dự kiến, như trong ví dụ sau:

CustomAudienceFetchRequest fetchRequest = new CustomAudienceFetchRequest(
    // Example: Optional verification token passed inside the fetch URL
    FetchURI = Uri.parse("https://example-dsp.com/...?mytoken=arbitrary1234"),
    // All the following parameters are optional
    Name = "running-shoes",
    ActivationTime = now(),
    ExpirationTime = ActivationTime.plus(30 days),
    UserBiddingSignals = new JSONObject("{...}")
);

fetchCustomAudience(fetchRequest);

Điểm cuối URL do người mua sở hữu sẽ phản hồi bằng đối tượng JSON CustomAudience trong nội dung phản hồi. Trường người mua và chủ sở hữu của đối tượng tuỳ chỉnh sẽ bị bỏ qua (và được API tự động điền). Ngoài ra, API thực thi việc URL cập nhật hằng ngày khớp với eTLD+1 của người mua.

{
 "name": "running-shoes",
 "activation_time": 1680603133,
 "expiration_time": 1680803133,
 "user_bidding_signals" : {"signal1": "value"},
 "trusted_bidding_data": {
    "trusted_bidding_uri": "https://example-dsp.com/.."
    "trusted_bidding_keys": ["k1", "k2"],
 },
 "bidding_logic_uri": "https://example-dsp.com/...",
 "ads": [
   {
     "render_uri": "https://example-dsp.com/...",
     "metadata": {},
     "ad_filters": {
       "frequency_cap": {
         "win": [
           {
             "ad_counter_key": "key1",
             "max_count": 2,
             "interval_in_seconds": 60
           },
         ],
         "view": [
           {
             "ad_counter_key": "key2",
             "max_count": 10,
             "interval_in_seconds": 3600
           },
         ]
       },
       "app_install": {
         "package_names": [
           "package.name.one",
           "package.name.two", ...
         ]
       }
     }
   },
   ...
 ]
}

API fetchCustomAudience() xác định danh tính của người mua từ eTLD+1 của fetchUri. Danh tính của người mua CustomAudience được dùng để thực hiện cùng một quy trình kiểm tra đăng ký và uỷ quyền ứng dụng do joinCustomAudience() thực hiện, đồng thời không thể thay đổi bằng phản hồi tìm nạp. Chủ sở hữu CustomAudience là tên gói của ứng dụng gọi. Không có quy trình xác thực nào khác cho fetchUri ngoài bước kiểm tra eTLD+1, cụ thể là không có quy trình kiểm tra k-anon. API fetchCustomAudience() gửi yêu cầu HTTP GET đến fetchUri và dự kiến đối tượng JSON sẽ đại diện cho đối tượng tuỳ chỉnh. Các điều kiện ràng buộc bắt buộc, không bắt buộc và giá trị mặc định cho các trường đối tượng tuỳ chỉnh sẽ được áp dụng cho phản hồi. Tìm hiểu về các yêu cầugiới hạn hiện tại trong Hướng dẫn cho nhà phát triển của chúng tôi. Bất kỳ phản hồi lỗi HTTP nào từ người mua đều khiến CustomAudience không thành công. Cụ thể, phản hồi trạng thái HTTP là 429 (Quá nhiều yêu cầu) sẽ chặn các yêu cầu từ ứng dụng hiện tại trong một khoảng thời gian cần xác định. Lỗi được báo cáo cho phương thức gọi API chịu trách nhiệm thử lại trong trường hợp lỗi tạm thời (ví dụ: máy chủ không phản hồi hoặc hết thời gian chờ) hay xử lý các lỗi liên tục (chẳng hạn như lỗi xác thực dữ liệu hoặc bất kỳ lỗi nào khác không phải lỗi tạm thời khi giao tiếp với máy chủ).

Đối tượng CustomAudienceFetchRequest cho phép phương thức gọi API xác định một số thông tin cho Đối tượng tuỳ chỉnh bằng cách sử dụng các thuộc tính không bắt buộc hiển thị trong ví dụ ở trên. Nếu được chỉ định, người mua không thể ghi đè các giá trị này bằng phản hồi mà họ nhận được. FLEDGE sẽ bỏ qua các trường trong phản hồi. Bản trình bày JSON trong nội dung của CustomAudience như được phương thức gọi API xác định một phần sẽ được đưa vào yêu cầu GET cho fetchUri trong một tiêu đề đặc biệt X-CUSTOM-AUDIENCE-DATA. Dữ liệu được chỉ định cho Đối tượng tuỳ chỉnh có kích thước giới hạn ở 8 KB.

Việc không có chế độ kiểm tra k-anon cho phép bạn sử dụng fetchUri để xác minh người mua cũng như tạo điều kiện cho hoạt động chia sẻ thông tin giữa người mua và SDK. Để tạo điều kiện cho việc xác minh đối tượng tuỳ chỉnh, người mua có thể cung cấp một mã xác minh. SDK trên thiết bị phải bao gồm mã này trong fetchUri để điểm cuối do người mua lưu trữ có thể tìm nạp nội dung của đối tượng tuỳ chỉnh và sử dụng mã xác minh để xác minh rằng thao tác fetchCustomAudience() tương ứng với người mua, đồng thời có nguồn gốc từ một đối tác đáng tin cậy trên thiết bị. Để chia sẻ thông tin, người mua có thể đồng ý với phương thức gọi trên thiết bị rằng một số thông tin dùng để tạo đối tượng tuỳ chỉnh sẽ được thêm vào fetchUri dưới dạng tham số truy vấn. Điều này cho phép người mua kiểm tra các lệnh gọi và phát hiện xem công nghệ quảng cáo độc hại có dùng mã thông báo xác thực để tạo một số đối tượng tuỳ chỉnh khác nhau hay không.

Lưu ý về việc định nghĩa và lưu trữ mã xác minh

  • Mã xác minh không được FLEDGE sử dụng cho bất kỳ mục đích nào và là mã không bắt buộc.

    • Người mua có thể sử dụng mã xác minh để xác minh rằng đối tượng đang được tạo là đối tượng đại diện cho họ.
    • Đề xuất FLEDGE không chỉ định định dạng của mã xác minh và cách người mua chuyển mã xác minh cho phương thức gọi. Ví dụ: mã xác minh có thể được tải trước trong SDK của chủ sở hữu hoặc phần phụ trợ, hoặc có thể được SDK của chủ sở hữu truy xuất theo thời gian thực từ máy chủ của người mua.

Rời khỏi một đối tượng tuỳ chỉnh

Chủ sở hữu của một đối tượng tuỳ chỉnh có thể chọn rời khỏi bằng cách gọi leaveCustomAudience(), như mô tả trong đoạn mã minh hoạ dưới đây:

// Invoke ad services API to leave a custom audience.
leaveCustomAudience(buyer, name);

Để giúp tiết kiệm mức sử dụng bộ nhớ và các tài nguyên khác trên thiết bị, đối tượng tuỳ chỉnh hết hạn sẽ bị xoá khỏi cửa hàng trên thiết bị sau một khoảng thời gian xác định trước. Giá trị mặc định sẽ được xác định. Chủ sở hữu có thể ghi đè giá trị mặc định này.

Quyền kiểm soát của người dùng

  • Đề xuất này nhằm giúp người dùng xem được danh sách các ứng dụng đã cài đặt có ít nhất 1 đối tượng tuỳ chỉnh liên kết.
  • Người dùng có thể xoá các ứng dụng khỏi danh sách này. Thao tác xoá sẽ xoá mọi đối tượng tuỳ chỉnh liên kết với những ứng dụng đó và ngăn những ứng dụng đó tham gia các đối tượng tuỳ chỉnh mới.
  • Người dùng có thể đặt lại FLEDGE hoàn toàn. Khi điều này xảy ra, mọi đối tượng tuỳ chỉnh hiện có trên thiết bị sẽ bị xoá.
  • Người dùng có thể chọn hoàn toàn không sử dụng Hộp cát về quyền riêng tư trên Android, bao gồm cả FLEDGE. Trong trường hợp này, FLEDGE API sẽ trả về thông báo ngoại lệ chuẩn: SECURITY_EXCEPTION.

Tính năng này đang trong quá trình thiết kế và thông tin chi tiết sẽ được đưa vào nội dung cập nhật sau này.

Quyền cho ứng dụng và quyền kiểm soát

Đề xuất này nhằm cung cấp cho các ứng dụng quyền kiểm soát đối tượng tuỳ chỉnh của chúng:

  • Ứng dụng có thể quản lý sự liên kết giữa ứng dụng và đối tượng tuỳ chỉnh.
  • Ứng dụng có thể cấp cho nền tảng công nghệ quảng cáo bên thứ ba các quyền quản lý đối tượng tuỳ chỉnh thay cho ứng dụng.

Tính năng này đang trong quá trình thiết kế và thông tin chi tiết sẽ được đưa vào nội dung cập nhật sau này.

Kiểm soát nền tảng công nghệ quảng cáo

Đề xuất này nêu ra các cách giúp công nghệ quảng cáo kiểm soát các đối tượng tuỳ chỉnh của chúng:

  • Công nghệ quảng cáo đăng ký bằng Hộp cát về quyền riêng tư và cung cấp một miền eTLD+1 khớp với tất cả các URL cho một đối tượng tuỳ chỉnh.
  • Công nghệ quảng cáo có thể hợp tác với ứng dụng hoặc SDK để cung cấp mã xác minh dùng để xác minh việc tạo đối tượng tuỳ chỉnh. Khi quy trình này được ủy quyền cho một đối tác, việc tạo đối tượng tuỳ chỉnh có thể được định cấu hình để yêu cầu công nghệ quảng cáo xác nhận.
  • Một công nghệ quảng cáo có thể chọn tắt các lệnh gọi joinCustomAudience thay mặt cho chúng và chỉ cho phép API fetchCustomAudience bật tất cả các đối tượng tuỳ chỉnh của lệnh gọi. Bạn có thể cập nhật quyền kiểm soát trong quá trình đăng ký Hộp cát về quyền riêng tư. Lưu ý rằng quyền kiểm soát này cho phép mọi công nghệ quảng cáo hoặc không cho phép công nghệ quảng cáo nào. Do các hạn chế của nền tảng, bạn không thể cấp quyền uỷ quyền cho từng công nghệ quảng cáo.

Tính năng này đang trong quá trình thiết kế và thông tin chi tiết sẽ được đưa vào nội dung cập nhật sau này.

Phản hồi về siêu dữ liệu và quảng cáo đề xuất

Quảng cáo đề xuất và siêu dữ liệu được trả về từ nền tảng bên mua phải bao gồm các trường sau đây:

  • Siêu dữ liệu: Siêu dữ liệu quảng cáo dành riêng cho công nghệ quảng cáo, phía bên mua. Ví dụ: siêu dữ liệu này có thể bao gồm thông tin về chiến dịch quảng cáo và tiêu chí nhắm mục tiêu, chẳng hạn như vị trí và ngôn ngữ.
  • URL hiển thị: Điểm cuối để hiển thị mẫu quảng cáo.
  • Bộ lọc: Thông tin cần thiết tuỳ chọn để FLEDGE lọc quảng cáo dựa trên dữ liệu trên thiết bị. Để biết thêm thông tin chi tiết, hãy xem phần Logic lọc của bên mua.

Quy trình lựa chọn quảng cáo

Đề xuất này nhằm cải thiện quyền riêng tư bằng cách giới thiệu Ad Selection API. API này sẽ thực thi quy trình đấu giá cho các nền tảng công nghệ quảng cáo.

Ngày nay, các nền tảng công nghệ quảng cáo thường chỉ tiến hành đặt giá thầu và chọn quảng cáo trên các máy chủ của chúng. Với đề xuất này, đối tượng tuỳ chỉnh và các tín hiệu nhạy cảm khác của người dùng, chẳng hạn như thông tin sẵn có về gói đã cài đặt, sẽ chỉ truy cập được qua Ad Selection API (API Lựa chọn quảng cáo). Ngoài ra, đối với trường hợp sử dụng tái tiếp thị, các quảng cáo đề xuất sẽ được tìm nạp bên ngoài (nghĩa là không ở trong ngữ cảnh hiển thị quảng cáo). Các nền tảng công nghệ quảng cáo sẽ cần chuẩn bị để triển khai và thực thi một số phần của phiên đấu giá hiện tại cũng như logic lựa chọn quảng cáo trên thiết bị. Các nền tảng công nghệ quảng cáo có thể cân nhắc những thay đổi sau đây đối với quy trình lựa chọn quảng cáo:

  • Khi không có sẵn thông tin về gói đã cài đặt trên máy chủ, các nền tảng công nghệ quảng cáo nên gửi trả nhiều quảng cáo theo ngữ cảnh về thiết bị và gọi quy trình lựa chọn quảng cáo để hỗ trợ tính năng lọc dựa trên lượt cài đặt ứng dụng nhằm tối đa hoá cơ hội hiển thị quảng cáo phù hợp.
  • Vì quảng cáo tiếp thị lại được tìm nạp bên ngoài, nên các mô hình đặt giá thầu hiện tại có thể cần được cập nhật. Các nền tảng công nghệ quảng cáo nên tạo mô hình phụ đặt giá thầu (việc triển khai có thể dựa trên một mẫu gọi là mô hình 2 tháp). Mô hình này có thể hoạt động với các tính năng quảng cáo và tín hiệu ngữ cảnh một cách riêng biệt và kết hợp các đầu ra của mô hình phụ trên thiết bị để dự đoán giá thầu. Điều này có thể được hưởng lợi từ cả phiên đấu giá phía máy chủ và phiên đấu giá cho cơ hội quảng cáo nhất định.

Với cách tiếp cận này, dữ liệu về hoạt động tương tác của người dùng với ứng dụng sẽ làm cơ sở cho việc chọn quảng cáo, trong khi vẫn giới hạn hoạt động chia sẻ dữ liệu với bên thứ ba.

Hình 2. Biểu đồ quy trình hiển thị cách bắt đầu quy trình lựa chọn quảng cáo.

Quy trình lựa chọn quảng cáo này sắp xếp hoạt động thực thi trên thiết bị của mã JavaScript do công nghệ quảng cáo cung cấp dựa trên trình tự sau đây:

  1. Thực thi logic đặt giá thầu của bên mua
  2. Xử lý và lọc quảng cáo bên mua
  3. Thực thi logic quyết định của bên bán

Đối với các lựa chọn quảng cáo liên quan đến đối tượng tuỳ chỉnh, nền tảng sẽ tìm nạp mã JavaScript do bên mua cung cấp dựa trên điểm cuối URL công khai do siêu dữ liệu "URL logic đặt giá thầu" của đối tượng tuỳ chỉnh xác định. Hệ thống cũng sẽ chuyển điểm cuối URL của mã quyết định bên bán làm đầu vào để bắt đầu quy trình lựa chọn quảng cáo.

Thiết kế của những lựa chọn quảng cáo không liên quan đến đối tượng tuỳ chỉnh đang trong quy trình thiết kế chủ động.

Bắt đầu quy trình lựa chọn quảng cáo

Khi một ứng dụng cần hiển thị quảng cáo, SDK nền tảng công nghệ quảng cáo có thể bắt đầu quy trình chọn quảng cáo bằng cách gọi phương thức selectAds() sau khi tạo bản sao đối tượng AdSelectionConfig với các tham số dự kiến:

  • Người bán: Giá trị nhận dạng cho nền tảng quảng cáo bên bán, theo định dạng eTLD+1
  • URL logic quyết định: Khi bắt đầu một phiên đấu giá quảng cáo, nền tảng sẽ sử dụng URL này để tìm nạp mã JavaScript từ nền tảng bên bán để tính điểm quảng cáo giành chiến thắng.
  • Người mua đối tượng tuỳ chỉnh: Danh sách các nền tảng bên mua có nhu cầu đấu giá dựa trên đối tượng tuỳ chỉnh, theo định dạng eTLD+1.
  • Tín hiệu lựa chọn quảng cáo: Thông tin về phiên đấu giá (kích thước quảng cáo, định dạng quảng cáo, v.v.).
  • Tín hiệu người bán: Các tín hiệu dành riêng cho nền tảng bên cung.
  • URL tín hiệu tính điểm đáng tin cậy: Điểm cuối URL của tín hiệu đáng tin cậy bên bán mà từ đó thông tin cụ thể về mẫu quảng cáo theo thời gian thực có thể được tìm nạp.
  • Tín hiệu từ mỗi người mua: Các bên có nhu cầu tham gia có thể sử dụng thông số này để cung cấp đầu vào cho phiên đấu giá. Ví dụ: thông số này có thể bao gồm thông tin toàn diện về ngữ cảnh hữu ích cho việc xác định giá thầu.

Đoạn mã minh họa sau đây hiển thị SDK nền tảng công nghệ quảng cáo bắt đầu quy trình lựa chọn quảng cáo bằng cách xác định AdSelectionConfig trước, sau đó gọi selectAds để nhận Quảng cáo thắng cuộc:

AdSelectionConfig myAdSelectionConfig = new AdSelectionConfig {
    Seller = "example-ssp1.com",
    DecisionLogicURL = Uri.parse("https://..."),
    CustomAudienceBuyerList = Arrays.asList("example-dsp1.com","bexample-dsp2.com"),
    AdSelectionSignals = "{"min_price": 10,"auction_attempts": 3}"
    SellerSignals = "{"seller_type": "news", "content_category": "sports","mature_ads_accepted" :"false"}"
    PerBuyerSignals = " {"buyer1Name": {"key1" : "value1"},
                         "buyer2Name": {"key1" : "value1", "key2" : "value2" }"
};

// Invoke ad services API to initiate ad selection workflow.
Ad winningAd = selectAds(myAdSelectionConfig);

Logic đặt giá thầu bên mua

Logic đặt giá thầu thường do các nền tảng bên mua cung cấp. Mục đích của mã này là xác định giá thầu cho quảng cáo đề xuất. Có thể áp dụng thêm logic kinh doanh để xác định kết quả.

Nền tảng này sẽ sử dụng siêu dữ liệu "URL logic đặt giá thầu" của đối tượng tuỳ chỉnh để tìm nạp mã JavaScript. Mã này sẽ bao gồm chữ ký hàm dưới đây:

generateBid(ad, auction_signals, per_buyer_signals, trusted_bidding_signals,
        contextual_signals, user_signals, custom_audience_signals) {
    // ...
    return {'bid': ...};
}

Phương thức generateBid() trả về giá thầu được tính toán. Nền tảng này sẽ gọi hàm này theo trình tự cho tất cả các quảng cáo (theo bối cảnh hoặc tiếp thị lại). Nếu có nhiều nhà cung cấp logic đặt giá thầu, hệ thống sẽ không đảm bảo trình tự thực thi trong số các nhà cung cấp.

Hàm này yêu cầu các thông số sau:

  • Quảng cáo: Quảng cáo đang được cân nhắc bởi mã đặt giá thầu bên mua. Đây sẽ là quảng cáo từ một đối tượng tuỳ chỉnh đủ điều kiện
  • Tín hiệu đấu giá: Tín hiệu dành riêng cho nền tảng bên bán.
  • Tín hiệu từ mỗi người mua: Các bên có nhu cầu tham gia có thể sử dụng thông số này để cung cấp đầu vào cho phiên đấu giá. Ví dụ: thông số này có thể bao gồm thông tin toàn diện về ngữ cảnh hữu ích cho việc xác định giá thầu.
  • Tín hiệu đặt giá thầu đáng tin cậy: Các nền tảng công nghệ quảng cáo coi dữ liệu theo thời gian thực là cơ sở cho việc tính điểm và truy xuất quảng cáo. Ví dụ: một quảng cáo có thể hết ngân sách và cần phải dừng phân phát ngay lập tức. Công nghệ quảng cáo có thể xác định điểm cuối URL mà ở đó dữ liệu theo thời gian thực này có thể được tìm nạp và tập hợp khoá cần thiết để thực hiện tính năng tra cứu theo thời gian thực. Máy chủ được quản lý của nền tảng công nghệ quảng cáo phân phát yêu cầu này sẽ là một máy chủ đáng tin cậy do nền tảng công nghệ quảng cáo quản lý.
  • Tín hiệu theo bối cảnh: Tín hiệu này có thể bao gồm dấu thời gian thô hoặc thông tin vị trí ước chừng.
  • Tín hiệu người dùng: Tín hiệu này có thể bao gồm các thông tin, chẳng hạn như thông tin sẵn có về gói đã cài đặt.

Logic lọc của bên mua

Các nền tảng bên mua có thể lọc quảng cáo dựa trên tín hiệu bổ sung trên thiết bị có sẵn trong giai đoạn lựa chọn quảng cáo. Ví dụ: các nền tảng công nghệ quảng cáo có thể triển khai các tính năng giới hạn tần suất tại đây. Nếu có nhiều nhà cung cấp tính năng lọc, thì hệ thống sẽ không đảm bảo trình tự thực thi giữa các nhà cung cấp đó.

Logic lọc của bên mua có thể được triển khai như một phần trong logic đặt giá thầu bằng cách trả về giá trị giá thầu 0 cho một quảng cáo nhất định.

Ngoài ra, các nền tảng bên mua có thể ra tín hiệu rằng một quảng cáo nhất định sẽ được lọc dựa trên các tín hiệu bổ sung trên thiết bị có sẵn cho FLEDGE và sẽ vẫn ở trên thiết bị. Khi chúng tôi củng cố các thiết kế của logic lọc bổ sung, các nền tảng bên mua sẽ tuân theo cấu trúc tương tự này để ra tín hiệu về việc quá trình lọc sẽ xảy ra.

Logic tính điểm của bên bán

Logic tính điểm thường do nền tảng bên bán cung cấp. Mục đích của mã là xác định quảng cáo giành chiến thắng dựa trên đầu ra của logic đặt giá thầu. Có thể áp dụng thêm logic kinh doanh để xác định kết quả. Nếu có nhiều nhà cung cấp logic quyết định, hệ thống sẽ không đảm bảo trình tự thực thi trong số các nhà cung cấp đó. Nền tảng này sẽ sử dụng thông số đầu vào "URL logic quyết định" của API selectAds() để tìm nạp mã JavaScript. Mã này sẽ bao gồm chữ ký hàm dưới đây:

scoreAd(ad, bid, auction_config, trusted_scoring_signals,
        contextual_signals, user_signals, custom_audience_signals) {
    // ...
    return score_for_this_ad;
}

Hàm này yêu cầu các thông số sau:

  • Quảng cáo: Quảng cáo đang được đánh giá; kết quả của hàm generateBid().
  • Giá thầu: Đầu ra về giá thầu của hàm generateBid().
  • Cấu hình đấu giá: Thông số đầu vào cho phương thức selectAds().
  • Tín hiệu tính điểm đáng tin cậy: Các nền tảng công nghệ quảng cáo coi dữ liệu theo thời gian thực là cơ sở cho việc tính điểm và lọc quảng cáo. Ví dụ: nhà xuất bản quảng cáo có thể chặn một chiến dịch quảng cáo hiển thị quảng cáo trong ứng dụng. Dữ liệu này được tìm nạp từ thông số url tín hiệu tính điểm đáng tin cậy của cấu hình phiên đấu giá. Máy chủ phân phát yêu cầu này phải là máy chủ đáng tin cậy do công nghệ quảng cáo quản lý.
  • Tín hiệu theo ngữ cảnh: Tín hiệu này có thể bao gồm dấu thời gian thô hoặc thông tin vị trí ước chừng.
  • Tín hiệu người dùng: Tín hiệu này có thể bao gồm những thông tin như cửa hàng ứng dụng bắt đầu quy trình cài đặt ứng dụng.
  • Tín hiệu đối tượng tuỳ chỉnh: Nếu quảng cáo đang được tính điểm bắt nguồn từ một đối tượng tuỳ chỉnh trên thiết bị, quảng cáo này sẽ chứa thông tin chẳng hạn như trình đọc và tên của đối tượng tuỳ chỉnh đó.

Thời gian chạy mã lựa chọn quảng cáo

Trong đề xuất, hệ thống sẽ tìm nạp mã đấu giá do nền tảng công nghệ quảng cáo cung cấp từ các điểm cuối URL có thể định cấu hình và thực thi trên thiết bị. Do các hạn chế về tài nguyên trên thiết bị di động, mã đấu giá phải tuân theo nguyên tắc sau đây:

  • Mã sẽ hoàn tất quy trình thực thi trong khoảng thời gian xác định sẵn. Giới hạn này sẽ áp dụng nhất quán cho tất cả các mạng quảng cáo của người mua. Thông tin chi tiết về giới hạn này sẽ được chia sẻ trong nội dung cập nhật sau này.
  • Mã phải độc lập và không chứa bất kỳ phần nào phụ thuộc bên ngoài.

Vì mã đấu giá, chẳng hạn như logic đặt giá thầu có thể cần quyền truy cập vào dữ liệu riêng tư của người dùng, chẳng hạn như các nguồn cài đặt ứng dụng, nên thời gian chạy sẽ không cung cấp quyền truy cập vào mạng hoặc bộ nhớ.

Ngôn ngữ lập trình

Mã đấu giá do nền tảng công nghệ quảng cáo cung cấp phải được viết bằng ngôn ngữ JavaScript. Chẳng hạn, điều này sẽ cho phép các nền tảng công nghệ quảng cáo chia sẻ mã đặt giá thầu trên các nền tảng hỗ trợ Hộp cát về quyền riêng tư.

Hiển thị quảng cáo có hiệu quả cao

Quảng cáo có điểm số cao nhất được xem là quảng cáo giành chiến thắng trong phiên đấu giá. Trong đề xuất ban đầu này, quảng cáo giành chiến thắng được chuyển vào SDK để hiển thị.

Mục đích của kế hoạch này là phát triển giải pháp nhằm đảm bảo rằng ứng dụng hoặc SDK không xác định được thông tin về gói thành viên của người dùng trong đối tượng tuỳ chỉnh hoặc nhật ký tương tác của người dùng với ứng dụng thông qua thông tin về quảng cáo giành chiến thắng (tương tự như đề xuất về khung bảo vệ của Chrome).

Báo cáo lượt hiển thị

Sau khi quảng cáo được hiển thị, hệ thống có thể báo cáo lượt hiển thị giành chiến thắng ngược trở lại cho nền tảng bên bán và nền tảng bên mua tham gia. Nền tảng này sẽ gọi logic báo cáo theo thứ tự sau:

  1. Báo cáo bên bán.
  2. Báo cáo bên mua.

Điều này giúp nền tảng bên bán và nền tảng bên mua gửi các thông tin quan trọng trên thiết bị, chẳng hạn như thông tin giá thầu, tên đối tượng tuỳ chỉnh, v.v. ngược trở lại cho máy chủ để hỗ trợ các tính năng như thiết lập ngân sách theo thời gian thực, cập nhật mô hình đặt giá thầu và quy trình thanh toán chính xác. Tính năng hỗ trợ báo cáo lượt hiển thị này bổ sung cho API Báo cáo phân bổ.

Báo cáo bên bán

Nền tảng sẽ gọi hàm JavaScript reportResult() trong mã do bên cung cấp, được tải xuống từ thông số URL logic quyết định của người bán cho API selectAds():

reportResult(render_url, bid, auction_config, contextual_signals) {
    // ...
    return reporting_url, signals_for_buyer;
}

Kết quả:

  • URL báo cáo: Nền tảng sẽ gọi ra URL do hàm trả về này.

Bên cung có thể mã hoá các tín hiệu phù hợp trong URL báo cáo để giúp họ thu thập thêm thông tin chi tiết cho phiên đấu giá và quảng cáo giành chiến thắng. Chẳng hạn, có thể bao gồm các tín hiệu dưới đây:

  • URL hiển thị quảng cáo
  • Số tiền giá thầu giành chiến thắng
  • Tên ứng dụng
  • Giá trị nhận dạng truy vấn
  • Tín hiệu cho người mua: Để hỗ trợ hoạt động chia sẻ dữ liệu giữa bên cung và bên cầu, nền tảng sẽ chuyển giá trị trả về này dưới dạng thông số đầu vào sang mã báo cáo bên cầu.

Báo cáo bên mua

Nền tảng sẽ gọi ra hàm JavaScript reportResult() trong mã do bên cầu cung cấp. Mã này được tải xuống từ siêu dữ liệu URL logic đặt giá thầu của đối tượng tuỳ chỉnh liên kết với phiên đấu giá.

reportResult(render_url, bid, auction_signals, per_buyer_signals,
        signals_for_buyer, contextual_signals, custom_audience_signals) {
    // ...
    return reporting_url;
}

Đầu vào:

  • auction_signals và per_buyer_signals sẽ được tìm nạp từ AuctionConfig. Bất kỳ thông tin nào mà nền tảng bên mua cần chuyển vào URL báo cáo đều có thể bắt nguồn từ dữ liệu này.
  • signals_for_buyer là kết quả của báo cáo bên bán. Điều này mang lại cho nền tảng bên bán cơ hội chia sẻ dữ liệu với nền tảng bên mua cho mục đích báo cáo.
  • contextual_signals chứa các thông tin như tên ứng dụng và custom_audience_signals sẽ chứa thông tin về đối tượng tuỳ chỉnh. Các thông tin khác có thể được thêm trong tương lai.

Kết quả:

  • URL báo cáo: Nền tảng sẽ gọi URL do hàm trả về này.

Máy chủ đáng tin cậy do nền tảng công nghệ quảng cáo quản lý

Logic chọn quảng cáo hiện nay yêu cầu thông tin theo thời gian thực, chẳng hạn như trạng thái cạn kiệt ngân sách để xác định xem có nên chọn đề xuất quảng cáo cho phiên đấu giá không. Cả nền tảng bên mua và bên bán đều có thể lấy thông tin này từ máy chủ mà chúng vận hành. Để giảm thiểu sự rò rỉ thông tin nhạy cảm qua các máy chủ này, đề xuất sẽ gọi các hạn chế sau:

  • Hành vi của những máy chủ này, được mô tả sau trong phần này, sẽ không làm rò rỉ thông tin của người dùng.
  • Các máy chủ sẽ không tạo hồ sơ biệt danh dựa trên dữ liệu mà máy chủ nhìn thấy, nghĩa là dữ liệu cần phải "đáng tin cậy".

Bên mua: Sau khi bên mua bắt đầu logic đặt giá thầu bên mua, nền tảng sẽ thực hiện tìm nạp HTTP dữ liệu đặt giá thầu đáng tin cậy từ máy chủ đáng tin cậy. URL được tạo bằng cách thêm URL và khoá xuất hiện trong siêu dữ liệu Tín hiệu đặt giá thầu đáng tin cậy của đối tượng tuỳ chỉnh đang được xử lý. Hoạt động tìm nạp này chỉ được thực hiện khi xử lý quảng cáo từ đối tượng tuỳ chỉnh trên thiết bị. Ở giai đoạn này, bên mua có thể thực thi ngân sách, kiểm tra trạng thái tạm dừng/huỷ tạm dừng của chiến dịch, thực hiện nhắm mục tiêu, v.v.

Dưới đây là URL mẫu để tìm nạp dữ liệu đặt giá thầu đáng tin cậy, dựa trên siêu dữ liệu tín hiệu đặt giá thầu đáng tin cậy của đối tượng tuỳ chỉnh:

https://www.kv-server.example/getvalues?keys=key1,key2

Phản hồi từ máy chủ phải là đối tượng JSON có khoá là key1, key2, v.v. và có các giá trị được cung cấp cho hàm đặt giá thầu của bên mua.

Bên bán: Tương tự như quy trình dành cho bên mua ở trên, bên bán nên tìm nạp thông tin về mẫu quảng cáo được cân nhắc trong phiên đấu giá. Ví dụ: một nhà xuất bản có thể muốn thực thi rằng không hiển thị một số mẫu quảng cáo nhất định dựa trên những mối lo ngại về an toàn thương hiệu. Thông tin này có thể được tìm nạp và cung cấp cho logic đấu giá của bên bán. Tương tự như hoạt động tra cứu máy chủ đáng tin cậy ở bên mua, hoạt động tra cứu máy chủ đáng tin cậy ở bên bán cũng xảy ra qua quá trình tìm nạp HTTP. URL này được tạo bằng cách thêm URL tín hiệu tính điểm đáng tin cậy với URL hiển thị của mẫu quảng cáo mà dữ liệu cần để được tìm nạp.

Dưới đây là URL mẫu để tìm nạp thông tin về mẫu quảng cáo được cân nhắc trong phiên đấu giá, dựa trên URL hiển thị mẫu quảng cáo:

https://www.kv-server.example/getvalues?renderUrls=render_url1,render_url2

Phản hồi từ máy chủ phải là đối tượng JSON có khoá là URL hiển thị được gửi trong yêu cầu.

Những máy chủ này hoạt động theo cách đáng tin cậy để mang lại các lợi ích về bảo mật và quyền riêng tư:

  • Giá trị trả về của máy chủ cho từng khoá có thể được tin cậy để chỉ dựa trên khoá đó.
  • Máy chủ không thực hiện ghi nhật ký ở cấp sự kiện.
  • Máy chủ không có tác dụng phụ nào dựa trên những yêu cầu này.

Là một cơ chế tạm thời, người bán và người mua có thể tìm nạp các tín hiệu đặt giá thầu này từ mọi máy chủ, bao gồm cả máy chủ mà họ đang tự vận hành. Tuy nhiên, trong phiên bản phát hành, yêu cầu sẽ chỉ được gửi cho một máy chủ dạng khoá-giá trị đán g tin cậy.

Người mua và người bán có thể sử dụng một máy chủ dạng khoá-giá trị chung, đáng tin cậy cho các nền tảng tương thích với Hộp cát về quyền riêng tư trên Android và cho web.