Tất cả ứng dụng hiển thị quảng cáo được cá nhân hoá do Google lưu trữ phải triển khai biểu tượng và lớp phủ AdChoices (khi Google cung cấp). Lựa chọn quảng cáo (còn gọi là "Tại sao có quảng cáo này?") là một tính năng minh bạch giải thích cho người dùng lý do tại sao một quảng cáo cụ thể hiển thị cho họ và cung cấp thông tin về cách bảo vệ quyền riêng tư của họ.
Để biết thêm thông tin, hãy xem phần Tại sao bạn thấy quảng cáo.
Hướng dẫn này giải thích cách trích xuất thông tin cần thiết để triển khai đúng cách AdChoices từ phản hồi XML VAST của quảng cáo hoặc phản hồi siêu dữ liệu của luồng DAI.
Yêu cầu đối với việc hiển thị nhãn Lựa chọn quảng cáo
Để tuân thủ các yêu cầu của Google về việc hiển thị biểu tượng Lựa chọn quảng cáo, ứng dụng hoặc trang web của bạn phải đáp ứng các tiêu chuẩn sau:
- Biểu tượng Lựa chọn quảng cáo phải hiển thị phủ lên mọi quảng cáo được cung cấp biểu tượng này
- Biểu tượng Lựa chọn quảng cáo phải hiển thị ở vị trí được chỉ định bằng các thuộc tính "Vị trí X" và "Vị trí Y" có trong dữ liệu biểu tượng, và ở kích thước do các thuộc tính chiều rộng và chiều cao xác định, tính bằng Pixel không phụ thuộc vào mật độ (DP).
- Biểu tượng Lựa chọn quảng cáo không được bị các lớp phủ quảng cáo hoặc thành phần giao diện khác che khuất.
- Trên các nền tảng hỗ trợ thao tác nhấp hoặc tương đương (ví dụ: thao tác chạm hoặc chọn từ xa), bạn phải có thể nhấp vào biểu tượng Lựa chọn quảng cáo.
- Trên các nền tảng có hỗ trợ trình duyệt, việc nhấp vào biểu tượng Lựa chọn quảng cáo phải mở một thẻ hoặc cửa sổ trình duyệt có URL được chỉ định trong thuộc tính "Lượt nhấp vào đường liên kết" hoặc "click_data".
- Trên các nền tảng không hỗ trợ trình duyệt, việc nhấp vào biểu tượng Lựa chọn quảng cáo phải mở một lớp phủ phương thức, hiển thị một trong các hình ảnh được chỉ định trong thuộc tính "IconClickFallbackImage" hoặc "click_fallback_images".
- Trên các nền tảng không hỗ trợ trình duyệt, hình ảnh dự phòng phải hiển thị ở kích thước được chỉ định trong thuộc tính "IconClickFallbackImage" hoặc "click_fallback_images", tính bằng Pixel không phụ thuộc vào mật độ (DP).
Phân tích cú pháp Lựa chọn quảng cáo từ phản hồi XML VAST
Khi xử lý phản hồi quảng cáo XML, AdChoices chỉ được hỗ trợ trong phiên bản VAST 3.0 trở lên. AdChoices được triển khai dưới dạng Biểu tượng VAST.
VAST 4.2
Nếu phản hồi quảng cáo XML của bạn tuân theo tiêu chuẩn VAST 4.2, thì AdChoices sẽ được phân phối dưới dạng Biểu tượng VAST. Nếu ứng dụng hoặc trang web của bạn hỗ trợ đầy đủ biểu tượng VAST 4.2 (mục 3.11 của tiêu chuẩn VAST 4.2), thì bạn không cần làm gì thêm để hỗ trợ AdChoices.
Nếu ứng dụng của bạn không hỗ trợ biểu tượng VAST 4.2, bạn cần phân tích cú pháp biểu tượng theo cách thủ công bằng tên chương trình "GoogleWhyThisAd" từ phản hồi VAST, dựa trên tiêu chuẩn đó. Bạn có thể sử dụng tệp xml VAST 4.2 mẫu này để kiểm thử thêm trong ứng dụng.
Phản hồi VAST 4.2 mẫu
<?xml version="1.0" encoding="UTF-8"?>
<VAST version="4.2">
<Ad id="20011">
<Wrapper>
...
<Creatives>
...
<Creative id="5480" sequence="1">
...
<Linear>
...
<Icons>
...
<Icon program="GoogleWhyThisAd" width="40" height="30" xPosition="left" yPosition="100" duration="00:00:10" offset="00:00:00" apiFramework="VAST" altText="AdChoices icon">
<StaticResource creativeType="image/png">
<![CDATA[ https://storage.googleapis.com/interactive-media-ads/hosted-samples/wta/icon_adchoices.png ]]>
</StaticResource>
<IconClicks>
<IconClickThrough>
<![CDATA[ https://g.co/adsettings ]]>
</IconClickThrough>
<IconClickFallbackImages>
<IconClickFallbackImage width="950" height="600">
<AltText>
<![CDATA[ This ad was shown to you based on: * Google's estimation of your interests, based on your activity on Google on this device (for example, your searches) * the information on the website you were viewing. ]]>
</AltText>
<StaticResource creativeType="image/png">
<![CDATA[ https://storage.googleapis.com/interactive-media-ads/hosted-samples/wta/icon_adchoices_fallback_image.png ]]>
</StaticResource>
</IconClickFallbackImage>
...
</IconClickFallbackImages>
</IconClicks>
</Icon>
...
</Icons>
...
</Linear>
...
</Creative>
...
</Creatives>
...
</Wrapper>
...
</Ad>
</VAST>
VAST 3.0
Nếu phản hồi quảng cáo XML tuân theo tiêu chuẩn VAST 3.0, thì AdChoices sẽ được phân phối dưới dạng tổ hợp của Biểu tượng VAST và tiện ích VAST tuỳ chỉnh. Nếu ứng dụng hoặc trang web của bạn hỗ trợ đầy đủ tiêu chuẩn Biểu tượng VAST 3.0 và nếu nền tảng có thể chuyển đến và hiển thị URL lượt nhấp vào biểu tượng, thì bạn không cần làm gì thêm để hỗ trợ Lựa chọn quảng cáo.
Nếu nền tảng của bạn không thể chuyển đến và hiển thị các URL lượt nhấp (điều này chủ yếu áp dụng cho các thiết bị không có trình duyệt web tích hợp), bạn phải triển khai tính năng hỗ trợ cho tiện ích "IconFallbackImages". Tiện ích này chứa một tập hợp thẻ "IconFallbackImages", trong đó thuộc tính "program" khớp với một biểu tượng có trong VAST.
Để hỗ trợ đầy đủ cho AdChoices, thẻ IconFallbackImages có tên chương trình "GoogleWhyThisAd" phải được liên kết với Biểu tượng có tên chương trình "GoogleWhyThisAd", sao cho khi người dùng tương tác với biểu tượng, hình ảnh dự phòng được liên kết sẽ hiển thị.
Để hỗ trợ các thay đổi tiềm ẩn trong tương lai đối với tiêu chuẩn Lựa chọn quảng cáo, bạn nên tích hợp tính năng hỗ trợ hình ảnh dự phòng cho tất cả Biểu tượng VAST (nếu có). Bạn có thể sử dụng tệp xml VAST 3.0 mẫu này để kiểm thử thêm trong ứng dụng của mình.
Cấu trúc tiện ích IconFallbackImages
Thẻ | Thuộc tính | Mô tả |
---|---|---|
Phần mở rộng | loại | Đối với tiện ích này, loại luôn chứa giá trị IconClickFallbackImages .
|
-IconClickFallbackImages | chương trình | Thuộc tính này luôn khớp với thuộc tính chương trình của Biểu tượng VAST 3.0 được liên kết. |
Cấu trúc của nút này khớp với tiêu chuẩn VAST 4.2 cho IconClickFallbackImages, ngoại trừ việc thêm thuộc tính program .
|
||
--IconClickFallbackImage | chiều rộng | Chiều rộng ưu tiên để hiển thị hình ảnh. |
độ cao | Chiều cao ưu tiên để hiển thị hình ảnh. | |
---AltText | Nội dung mô tả hình ảnh có thể truy cập. | |
---StaticResource | creativeType | Loại mime của hình ảnh dự phòng. |
Giá trị CDATA chứa URL của hình ảnh dự phòng. |
Phản hồi VAST 3.0 mẫu
<?xml version="1.0" encoding="UTF-8"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
<Ad id="123456">
<InLine>
...
<Creatives>
...
<Creative id="7891011" AdID="ABCD123456EF" sequence="1">
...
<Linear>
...
<Icons>
...
<Icon program="GoogleWhyThisAd" width="50" height="50" xPosition="20" yPosition="bottom" duration="00:00:10" offset="00:00:00" apiFramework="VAST" altText="Why This Ad?">
<StaticResource creativeType="image/png">
<![CDATA[https://storage.googleapis.com/interactive-media-ads/hosted-samples/wta/icon_adchoices.png]]>
</StaticResource>
<IconClicks>
...
<IconClickThrough><![CDATA[https://g.co/adsettings]]></IconClickThrough>
</IconClicks>
</Icon>
...
</Icons>
...
</Linear>
...
</Creative>
...
</Creatives>
<Extensions>
...
<Extension type="IconClickFallbackImages">
...
<IconClickFallbackImages program="GoogleWhyThisAd">
<IconClickFallbackImage width="400" height="150">
<AltText>Alt icon fallback</AltText>
<StaticResource creativeType="image/png"><![CDATA[https://storage.googleapis.com/gvabox/nickchavez/media/png/wta_dialog.png]]></StaticResource>
</IconClickFallbackImage>
...
</IconClickFallbackImages>
...
</Extension>
...
</Extensions>
...
</InLine>
...
</Ad>
</VAST>
Phân tích cú pháp AdChoices từ JSON siêu dữ liệu API DAI
Khi làm việc với DAI API, thông tin chi tiết về AdChoices sẽ được truyền qua đối tượng JSON do các yêu cầu trả về đến URL siêu dữ liệu.
Đối tượng JSON siêu dữ liệu chứa danh sách quảng cáo, được khoá bằng mã quảng cáo. Bên trong mỗi đối tượng quảng cáo là một mảng biểu tượng. Nếu quảng cáo có liên quan sử dụng AdChoices, thì biểu tượng AdChoices sẽ nằm trong mảng đó.
Định dạng biểu tượng JSON
Định dạng biểu tượng JSON là bản dịch 1:1 từ tiêu chuẩn biểu tượng VAST 4.2 (mục 3.11), bất cứ khi nào có thể. Tuy nhiên, để hỗ trợ định dạng JSON nghiêm ngặt hơn, một số thuộc tính đã thay đổi tên (nếu cần).
Định dạng JSON của biểu tượng
chương trình | Đối với biểu tượng Lựa chọn quảng cáo, giá trị này luôn chứa chuỗi "GoogleWhyThisAd". |
x_position | Vị trí theo chiều ngang của góc trên cùng bên trái của biểu tượng, so với góc trên cùng bên trái của mẫu quảng cáo dạng video, tính bằng pixel. Trường này cũng chấp nhận các giá trị vị trí thích ứng "phải" hoặc "trái". |
y_position | Vị trí dọc của góc trên cùng bên trái của biểu tượng, so với góc trên cùng bên trái của mẫu quảng cáo dạng video, tính bằng pixel. Trường này cũng chấp nhận các giá trị vị trí thích ứng "top" (trên cùng) hoặc "bottom" (dưới cùng). |
chiều rộng | Chiều rộng của biểu tượng, tính bằng pixel. |
độ cao | Chiều cao của biểu tượng, tính bằng pixel. |
creative_type | Loại MIME của hình ảnh được cung cấp cho biểu tượng. Giá trị mặc định là "image/png". |
tài nguyên | URL để truy xuất biểu tượng Lựa chọn quảng cáo. |
alt_text | Văn bản thay thế để hiển thị cho biểu tượng Lựa chọn quảng cáo. |
click_data | Một đối tượng chứa thuộc tính click_data.url đại diện cho URL để chuyển hướng người xem nếu họ nhấp vào biểu tượng Lựa chọn quảng cáo trên một nền tảng hỗ trợ duyệt web.
|
click_fallback_images | Một mảng các đối tượng hình ảnh để hiển thị cho những người xem nhấp vào biểu tượng Lựa chọn quảng cáo trên các nền tảng không hỗ trợ duyệt web. |
Định dạng JSON của hình ảnh dự phòng
chiều rộng | Chiều rộng của hình ảnh dự phòng, tính bằng pixel. |
độ cao | Chiều cao của hình ảnh dự phòng, tính bằng pixel. |
creative_type | Loại mime của hình ảnh dự phòng. Giá trị mặc định là "image/png". |
tài nguyên | URL để truy xuất hình ảnh dự phòng. |
alt_text | Văn bản thay thế để hiển thị cho hình ảnh dự phòng. |
JSON siêu dữ liệu mẫu
{
...
"ads": {
...
"0002640412_ad1": {
...
"icons": [
...
{
"alt_text": "AdChoices icon",
"click_data": {
"url": "https://g.co/adsettings"
},
"click_fallback_images": [
{
"alt_text": "This ad was shown to you based on: * Google's estimation of your interests, based on your activity on Google on this device (for example, your searches) * the information on the website you were viewing.",
"creative_type": "image/jpg",
"height": 600,
"resource": "https://storage.googleapis.com/interactive-media-ads/hosted-samples/wta/icon_adchoices_fallback_image.png",
"width": 950
}
],
"creative_type": "image/png",
"height": 30,
"program": "AdChoices",
"resource": "https://storage.googleapis.com/interactive-media-ads/hosted-samples/wta/icon_adchoices.png",
"type": "static",
"width": 40,
"x_position": "0",
"y_position": "100"
}
...
]
...
},
...
}
...
}