Tạo mã thông báo HMAC đã ký

Mỗi yêu cầu phân đoạn được thực hiện bằng phân phát nhóm chuyển hướng phân đoạn phải bao gồm Mã thông báo do HMAC ký để xác thực, nếu không sử dụng thông báo chèn quảng cáo sớm.

Mã thông báo này có thể được tính một lần cho mỗi điểm chèn quảng cáo và được chia sẻ trên toàn bộ luồng phiên hoạt động.

Thu thập thông số mã thông báo

Thu thập thông tin sau đây từ điểm chèn quảng cáo hiện tại để điền thông tin nội dung mã thông báo.

Tham số mã thông báo
custom_asset_key Bắt buộc Khoá tài sản sự kiện phát trực tiếp tuỳ chỉnh từ Google Ad Manager.
cust_params Không bắt buộc Tham số nhắm mục tiêu tuỳ chỉnh. Vui lòng xem cust_params.
exp Bắt buộc Dấu thời gian hết hạn của mã thông báo này tính bằng giây.
network_code Bắt buộc Mã mạng Ad Manager 360 cho mạng này.
pod_id Bắt buộc Giá trị nhận dạng cho điểm chèn quảng cáo. Phải là một số nguyên bắt đầu từ 1 và tăng thêm 1 đơn vị cho mỗi điểm chèn quảng cáo.

Giá trị này phải giống nhau cho tất cả người dùng xem cùng một điểm chèn quảng cáo trong sự kiện hiện tại.

pd Bắt buộc, ngoại trừ các sự kiện bật điểm chèn quảng cáo không có thời lượng. Thời lượng tính bằng mili giây của điểm chèn quảng cáo. Được gọi ở trên là ad_pod_duration.
scte35 Không bắt buộc Tín hiệu SCTE-35 được mã hoá Base64. Trách nhiệm của khách hàng là đảm bảo rằng tín hiệu này là chính xác. Nếu không đúng, thông báo sẽ được gửi đến Tiêu đề HTTP X-Ad-Manager-Dai-Warning trong phản hồi và tín hiệu vẫn được truyền để tạo điểm chèn quảng cáo. Hãy xem các báo cáo được hỗ trợ điểm đánh dấu quảng cáo để biết thêm thông tin về cách DAI sử dụng tín hiệu SCTE-35.

Tạo chuỗi mã thông báo

liệt kê từng thông số theo thứ tự bảng chữ cái, theo định dạng name=value, trong đó mỗi thông số cặp tên-giá trị được phân tách bằng ký tự dấu ngã (~).

Những thông số không bắt buộc không có giá trị có thể được giữ nguyên và chứa một chuỗi trống cho giá trị đó hoặc loại bỏ hoàn toàn.

định dạng chuỗi mã thông báo

custom_asset_key={custom_asset_key}~exp={expiration}~network_code={network_code}~pd={pod_duration}~pod_id={ad_pod_index}~scte35={scte35_message}

Tạo chữ ký HMAC

Chữ ký HMAC là hàm băm SHA-256 của chuỗi mã thông báo ở định dạng HEX. Chiến lược phát hành đĩa đơn là Khoá xác thực HMAC được liên kết với sự kiện phát trực tiếp của bạn trong Google Ad Manager.

Chuỗi mã thông báo ký

Sau khi tạo, hãy thêm chữ ký HMAC vào chuỗi mã thông báo như sau định dạng

~hmac={HMAC signature}

Chuỗi mã thông báo mã hoá URL

Mã thông báo này được truyền dưới dạng tham số URL, vì vậy, bạn phải mã hoá URL để đảm bảo an toàn.

Ví dụ 1

Dưới đây là ví dụ về trường hợp các tham số không bắt buộc không được sử dụng được thêm vào dưới dạng trống .

Chuỗi mã thông báo

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~cust_params=~exp=1489680000~network_code=6062~pd=180000~pod_id=5~scte35=

Khoá bí mật

A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

Chữ ký HMAC

86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

Mã thông báo đã ký

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~cust_params=~exp=1489680000~network_code=6062~pd=180000~pod_id=5~scte35=~hmac=86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

Mã thông báo đã ký được mã hoá URL:

custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~cust_params%3D~exp%3D1489680000~network_code%3D6062~pd%3D180000~pod_id%3D5~scte35%3D~hmac%3D86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

Ví dụ 2

Sau đây là ví dụ về trường hợp các biến không bắt buộc không được điền sẵn bị bỏ qua hoàn toàn.

Chuỗi mã thông báo

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g3~exp=1489680000~network_code=6062~pd=180000~pod_id=5
Khoá bí mật
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
Chữ ký HMAC
6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

Mã thông báo đã ký

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~pod_id=5~hmac=6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

Mã thông báo đã ký được mã hoá URL

custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~exp%3D1489680000~network_code%3D6062~pd%3D180000~pod_id%3D5~hmac%3D6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9