Quảng cáo có thể bỏ qua trong luồng VOD

Hướng dẫn này minh hoạ cách sử dụng API DAI để yêu cầu phát trực tiếp VOD với quảng cáo có thể bỏ qua, hiển thị nút bỏ qua theo các yêu cầu của Google Ads và gửi các sự kiện theo dõi liên quan.

Điều kiện tiên quyết

Tạo yêu cầu cho quảng cáo có thể bỏ qua

Để yêu cầu phát trực tiếp VOD có quảng cáo có thể bỏ qua, bạn phải chuyển thông số dai-sas trong yêu cầu luồng của mình.

Điểm cuối của API

POST: /ondemand/v1/hls/content/{CMS_ID}/vid/{VIDEO_ID}/stream
Host: dai.google.com
Content-Type: application/x-www-form-urlencoded

Tham số đường dẫn

{CMS_ID} Mã CMS của luồng.
{VIDEO_ID} Mã video của luồng.

Thông số cơ thể

dai-sas Đặt dai-sas=1 để bật quảng cáo có thể bỏ qua.

Yêu cầu mẫu (cURL)

Đối với các yêu cầu phát trực tuyến HLS:

curl -X POST \
     -d 'dai-sas=1' \
     -H 'Content-Type: application/x-www-form-urlencoded' \
https://dai.google.com/ondemand/v1/hls/content/{CMS_ID}/vid/{VIDEO_ID}/stream

Thay thế 'dash' trong URL cho các luồng DASH:

https://dai.google.com/ondemand/v1/dash/content/{CMS_ID}/vid/{VIDEO_ID}/stream

Hãy sử dụng định dạng sau để đưa nhiều tham số luồng vào nội dung của yêu cầu:

-d 'dai-sas=1&cust_params=key1%3dvalue1%26key2%3dvalue2' \

Xử lý thao tác bỏ qua quảng cáo

Để xử lý việc bỏ qua quảng cáo, hãy sử dụng thông tin trong cấu trúc Ad hoặc AdBreak tuỳ thuộc vào việc bạn đang bỏ qua quảng cáo hiện tại hay toàn bộ điểm chèn quảng cáo. Lấy giá trị start và thêm giá trị duration, sau đó tìm đến điểm đó trong luồng. Thông báo phụ SkipMetadata cũng bao gồm giá trị offset. Đây là một giá trị tính bằng giây trong thời gian trước khi có thể bỏ qua quảng cáo. Thông báo con SkipMetadata sẽ chỉ xuất hiện trong những quảng cáo có thể bỏ qua.

ad_breaks Danh sách các điểm chèn quảng cáo.
start (number) Vị trí trong luồng mà điểm chèn bắt đầu, tính bằng giây.
duration (number) Thời lượng của điểm chèn quảng cáo, tính bằng giây.
ads (object(Ad)) Danh sách Quảng cáo trong luồng.
start (number) Vị trí trong luồng mà quảng cáo bắt đầu, tính bằng giây.
duration (number) Thời lượng của quảng cáo, tính bằng giây.
skip_metadata (object(SkipMetadata)) Siêu dữ liệu không bắt buộc cho quảng cáo có thể bỏ qua. Nếu được đặt, dòng này cho biết quảng cáo có thể bỏ qua và bao gồm hướng dẫn về cách xử lý giao diện người dùng bỏ qua và sự kiện theo dõi.
offset (number) Mức chênh lệch cho biết khoảng thời gian (tính bằng giây) vào quảng cáo mà trình phát phải chờ để hiển thị nút bỏ qua. Bị bỏ qua nếu không được cung cấp trong VAST.
tracking_url (string) URL cần được ping trong sự kiện bỏ qua.

Ví dụ về phản hồi

{
  ...
  "ad_breaks":[
    {
      ...
      "start":0,
      "duration":10,
      "ads":[
        {
          ...
          "start":0,
          "duration":10,
          "skip_metadata":{
            "offset": 5,
            "tracking_url": "https://example_skip_url.com"
          }
        }
    }
}

Sau khi quảng cáo bị bỏ qua, ping URL sự kiện bỏ qua có trong phản hồi luồng. Tin nhắn này có trong tin nhắn con SkipMetadata.

Yêu cầu đối với nút bỏ qua

Đối với quảng cáo có thể bỏ qua, hãy hiển thị nút bỏ qua với các yêu cầu thiết kế sau. Nếu bạn không tuân thủ các yêu cầu này, quảng cáo của Google sẽ bị hạn chế phân phát cho trang web hoặc ứng dụng của bạn.

Đồng hồ đếm ngược

Quảng cáo không được bỏ qua cho đến thời điểm skipoffset được chỉ định trong VAST. Trong khoảng thời gian không thể bỏ qua này, bạn phải hiển thị thông báo cho người dùng để họ biết rằng quảng cáo có thể bỏ qua sau X giây. Thông báo phải được dịch sang ngôn ngữ của người dùng.

Vị trí nút bỏ qua

Đối với ngôn ngữ từ trái sang phải, hãy đặt nút bỏ qua ở góc dưới cùng bên phải trình phát video. Đối với ngôn ngữ từ phải sang trái, hãy đặt nút bỏ qua ở góc dưới cùng bên trái trình phát video.

Kích thước nút bỏ qua

Nút và văn bản phải đủ lớn để có thể đọc được rõ ràng trong một trải nghiệm thư giãn.

Văn bản và biểu tượng

Nút bỏ qua phải có cả văn bản và biểu tượng. Bạn có thể sử dụng biểu tượng bỏ qua Material tiếp theo làm biểu tượng.

Hỗ trợ tiếp cận

Người dùng có thể chuyển đến nút bỏ qua bằng bàn phím hoặc điều khiển từ xa. Ứng dụng nên đặt tiêu điểm vào nút bỏ qua sau khi bộ đếm ngược hoàn tất.

Quốc tế hoá

Bạn nên dịch văn bản bỏ qua sang ngôn ngữ của người dùng.

Nhóm quảng cáo

Bạn có thể sử dụng nút bỏ qua để bỏ qua quảng cáo hiện tại trong nhóm quảng cáo hoặc bỏ qua toàn bộ nhóm.

Bản dịch "Bỏ qua quảng cáo"

Sử dụng tệp skipAdTranslations.json để dịch văn bản "Bỏ qua quảng cáo" dựa trên ngôn ngữ của người dùng.