สร้างโทเค็น HMAC ที่ลงนาม

คำขอแต่ละรายการที่สร้างโดยใช้การแสดงพ็อดการเปลี่ยนเส้นทางกลุ่มต้องมีโทเค็นที่ลงนาม HMAC สำหรับการตรวจสอบสิทธิ์ หากไม่ได้ใช้การแจ้งเตือนช่วงพักโฆษณาล่วงหน้า

โดยโทเค็นนี้จะคำนวณได้ 1 ครั้งต่อช่วงพักโฆษณา และแชร์ได้ในเซสชันสตรีมทั้งหมด

รวบรวมพารามิเตอร์โทเค็น

รวบรวมข้อมูลต่อไปนี้จากช่วงพักโฆษณาปัจจุบันเพื่อสร้างเนื้อหาโทเค็น

พารามิเตอร์โทเค็น
custom_asset_key ต้องระบุ คีย์เนื้อหาสตรีมแบบสดที่กำหนดเองจาก Google Ad Manager
cust_params ไม่บังคับ พารามิเตอร์การกำหนดเป้าหมายเอง ดูcust_params
exp ต้องระบุ การประทับเวลาการหมดอายุของโทเค็นนี้เป็นวินาที
network_code ต้องระบุ รหัสเครือข่าย Ad Manager 360 สำหรับเครือข่ายนี้
pod_id ต้องระบุ ตัวระบุสำหรับช่วงพักโฆษณา ควรเป็นจํานวนเต็มเริ่มต้นที่ 1 และเพิ่มขึ้น 1 ตัวสําหรับช่วงพักโฆษณาแต่ละครั้ง

ค่านี้ต้องเหมือนกันสำหรับผู้ใช้ทั้งหมดที่ดูช่วงพักโฆษณาเดียวกันในเหตุการณ์ปัจจุบัน

pd ต้องระบุ ยกเว้นเหตุการณ์ที่เปิดใช้ช่วงพักโฆษณาแบบไม่มีระยะเวลา ระยะเวลาเป็นมิลลิวินาทีของช่วงพักโฆษณา ด้านบนเรียกว่า ad_pod_duration
scte35 ไม่บังคับ สัญญาณ SCTE-35 ที่เข้ารหัส Base64 ลูกค้ามีหน้าที่ตรวจสอบว่าสัญญาณถูกต้อง หากไม่ถูกต้อง ระบบจะส่งข้อความไปยังส่วนหัว HTTP ของ X-Ad-Manager-Dai-Warning ในการตอบกลับและยังคงเผยแพร่สัญญาณเพื่อสร้างช่วงพักโฆษณา ดูตัวทำเครื่องหมายโฆษณาที่รองรับสำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ DAI ใช้สัญญาณ SCTE-35

สร้างสตริงโทเค็น

แสดงรายการพารามิเตอร์แต่ละรายการตามลำดับตัวอักษรในรูปแบบ name=value โดยแต่ละคู่ชื่อ-ค่าจะคั่นด้วยเครื่องหมายตัวหนอน (~)

คุณจะปล่อยพารามิเตอร์ที่ไม่บังคับที่ไม่มีค่าไว้ในตำแหน่งที่มีสตริงว่างสำหรับค่า หรือนำออกไปเลยก็ได้

รูปแบบสตริงโทเค็น

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

สร้างลายเซ็น HMAC

ลายเซ็น HMAC คือแฮช SHA-256 ของสตริงโทเค็นในรูปแบบ HEX คีย์ลับคือคีย์การตรวจสอบสิทธิ์ HMAC ที่เชื่อมโยงกับกิจกรรมสตรีมแบบสดใน Google Ad Manager

ลงนามในสตริงโทเค็น

เมื่อสร้างเรียบร้อยแล้ว ให้เพิ่มลายเซ็น HMAC ต่อท้ายสตริงโทเค็นในรูปแบบต่อไปนี้

~hmac={HMAC signature}

สตริงโทเค็นการเข้ารหัส URL

โทเค็นนี้มีการส่งผ่านเป็นพารามิเตอร์ของ URL ดังนั้นจึงต้องมีการเข้ารหัส URL เพื่อความปลอดภัย

ตัวอย่างที่ 1

นี่คือตัวอย่างที่รวมพารามิเตอร์ที่ไม่บังคับซึ่งไม่ได้ใช้เป็นสตริงว่าง

สตริงโทเค็น

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

คีย์รหัสลับ

A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

ลายเซ็น HMAC

86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

โทเค็นที่ลงชื่อ

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

โทเค็นที่มีการเข้ารหัส URL:

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

ตัวอย่างที่ 2

นี่คือตัวอย่างที่ละเว้นตัวแปรทางเลือกที่ยังไม่ได้ป้อนข้อมูลทั้งหมด

สตริงโทเค็น

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g3~exp=1489680000~network_code=6062~pd=180000~pod_id=5
คีย์รหัสลับ
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
ลายเซ็น HMAC
6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

โทเค็นที่ลงชื่อ

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

โทเค็นที่มีลายเซ็นที่เข้ารหัส URL

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