Bật quảng cáo có thể bỏ qua trong luồng VOD

Tài liệu hướng dẫn này minh hoạ cách sử dụng API DAI để yêu cầu luồng VOD có 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

  • Một ứng dụng triển khai lệnh gọi API DAI cho luồng VOD. Hãy xem phần Yêu cầu luồng VOD DAI để biết thêm thông tin.

Yêu cầu quảng cáo có thể bỏ qua

Để yêu cầu luồng VOD có quảng cáo có thể bỏ qua, bạn phải truyền tham số dai-sas trong yêu cầu luồng.

Đ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 sự kiện phát trực tiếp.

Tham 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 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 luồng DASH:

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

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

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

Xử lý việ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 cấu trú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ộ khoảng nghỉ 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, là giá trị tính bằng giây trước khi có thể bỏ qua quảng cáo. Thông báo phụ SkipMetadata chỉ được đưa vào quảng cáo có thể bỏ qua.

ad_breaks Danh sách Điểm chèn quảng cáo.
start (số) Vị trí trong luồng phát mà điểm chèn quảng cáo bắt đầu, tính bằng giây.
duration (số) Thời lượng của khoảng nghỉ quảng cáo, tính bằng giây.
ads (object(Ad)) Danh sách Quảng cáo trong luồng.
start (số) Vị trí trong luồng mà quảng cáo bắt đầu, tính bằng giây.
duration (số) Thời lượng 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, thuộc tính 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 (số) Độ lệch cho biết khoảng thời gian tính bằng giây mà trình phát phải chờ để hiển thị nút bỏ qua trong quảng cáo. Bỏ qua nếu không được cung cấp trong VAST.
tracking_url (chuỗi) URL cần được ping trên 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, hãy ping URL sự kiện bỏ qua có trong phản hồi luồng. Thông tin này được đưa vào thông báo phụ SkipMetadata.

Yêu cầu về nút bỏ qua

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

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

Quảng cáo không được có thể bỏ qua cho đến thời gian 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 cho họ biết rằng họ có thể bỏ qua quảng cáo 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 ở phía dưới cùng bên phải của trình phát video. Đối với ngôn ngữ từ phải sang trái, hãy đặt nút bỏ qua ở bên trái dưới cùng của 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 rõ trong 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 material bỏ qua bước tiếp theo làm biểu tượng.

Hỗ trợ tiếp cận

Người dùng phải có thể điều hướng đến nút bỏ qua bằng bàn phím hoặc điều khiển từ xa. Ứng dụng sẽ đặt tiêu điểm vào nút bỏ qua sau khi quá trình đế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.