ข้อกำหนดของโฆษณาวิดีโอคั่นระหว่างหน้า HLS นำเสนอวิธีที่ยืดหยุ่นในการจัดตารางเวลาและ
แทรกโฆษณาลงในสตรีมวิดีโอหรือเสียง เมื่อใช้แนวทางฝั่งไคลเอ็นต์
แอปพลิเคชันของคุณจะควบคุมได้อย่างเต็มที่ว่าจะขอและเล่น
ช่วงพักโฆษณาเมื่อใดโดยการสร้างคลาส
AVPlayerInterstitialEvent
วิธีนี้ไม่จำเป็นต้องใช้แท็ก EXT-X-DATERANGE ในไฟล์ Manifest ของสตรีมเนื้อหา โฆษณาคั่นระหว่างหน้า HLS ฝั่งไคลเอ็นต์ช่วยให้คุณแทรกโฆษณาแบบไดนามิกลงในเนื้อหาใดก็ได้โดยไม่ต้องแก้ไขไฟล์ Manifest ของสตรีมหรือไฟล์สื่อ
คู่มือนี้ครอบคลุมการผสานรวม Interactive Media Ads (IMA) SDK เข้ากับแอปวิดีโอเพลเยอร์ที่สร้างเซสชันสตรีมแบบสดของการแทรกโฆษณาที่นำโดยเซิร์ฟเวอร์ (SGAI) และกำหนดเวลาโฆษณาคั่นระหว่างหน้าฝั่งไคลเอ็นต์ ดูข้อมูลเพิ่มเติมได้ที่DAI ที่มีคำแนะนำจากเซิร์ฟเวอร์
ข้อกำหนดเบื้องต้น
ก่อนเริ่มต้น คุณต้องมีสิ่งต่อไปนี้
โปรเจ็กต์ Xcode ใหม่ที่ใช้
Storyboardสำหรับอินเทอร์เฟซผู้ใช้ ดูข้อมูลเพิ่มเติมได้ที่การสร้างโปรเจ็กต์ Xcode สำหรับแอปGoogle IMA SDK ดูข้อมูลเพิ่มเติมได้ที่ตั้งค่า IMA SDK สำหรับ DAI
พารามิเตอร์ต่อไปนี้สำหรับคำขอไลฟ์สด DAI
NETWORK_CODE: รหัสเครือข่าย Google Ad ManagerCUSTOM_ASSET_KEY: สตริงที่กำหนดเองซึ่งระบุเหตุการณ์ไลฟ์สด DAI เหตุการณ์ไลฟ์สดต้องมีประเภท DAI ของไฟล์ Manifest ที่แสดงในพ็อด
กำหนดค่าสตอรีบอร์ด
ในไฟล์ iPhone.storyboard ให้ทำดังนี้
- สร้างออบเจ็กต์
UIViewเป็นคอนเทนเนอร์สำหรับวิดีโอเพลเยอร์และ UI ของโฆษณา - สร้างพร็อพเพอร์ตี้
adUIViewของคลาสViewControllerเพื่อเชื่อมต่อกับ ออบเจ็กต์UIView - ในออบเจ็กต์
adUIViewให้สร้างUIButtonเพื่อทำหน้าที่เป็นปุ่มเล่น - สร้างพร็อพเพอร์ตี้
playButtonของคลาสViewControllerเพื่อเชื่อมต่อกับออบเจ็กต์UIButtonและฟังก์ชันonPlayButtonTouchเพื่อจัดการการแตะของผู้ใช้
เริ่มต้นเครื่องมือโหลดโฆษณา
ใน viewDidLoad ของตัวควบคุมมุมมองหลัก ให้ทำดังนี้
- ตั้งค่าวิดีโอเพลเยอร์โดยใช้คลาส
AVPlayerและAVPlayerLayer - สร้างออบเจ็กต์
IMAAdDisplayContainerและIMAAVPlayerVideoDisplayคอนเทนเนอร์ที่แสดงโฆษณาระบุadUIViewสำหรับ IMA DAI SDK เพื่อแทรกมุมมองย่อยของ UI โฆษณา ออบเจ็กต์การแสดงวิดีโอทําหน้าที่เป็นตัวกลาง ระหว่างตรรกะโฆษณาของ IMA DAI SDK กับระบบการเล่น AVFoundation เพื่อติดตามการเล่นโฆษณาวิดีโอ - เริ่มต้นออบเจ็กต์
IMAAdsLoaderด้วยการตั้งค่าการเล่นโฆษณาและการแปล UI ของโฆษณา
ตัวอย่างต่อไปนี้จะเริ่มต้นโปรแกรมโหลดโฆษณาด้วยออบเจ็กต์
IMASettings
ที่ว่างเปล่า
ส่งคำขอสตรีม
หากต้องการขอโฆษณาสําหรับสตรีมเนื้อหา ให้สร้างออบเจ็กต์
IMAPodStreamRequest
แล้วส่งไปยังอินสแตนซ์
IMAAdsLoader
คุณเลือกตั้งค่าพร็อพเพอร์ตี้ adTagParameters เพื่อระบุตัวเลือก DAI
และพารามิเตอร์การกำหนดเป้าหมายสำหรับสตรีมได้
ตัวอย่างนี้เรียกใช้เมธอด loadAdStream ในเหตุการณ์ viewDidAppear
ในแอปเวอร์ชันที่ใช้งานจริง ให้เรียกใช้เมธอด loadAdStream หลังจากที่ผู้ใช้เลือกสตรีมเนื้อหา
จัดการเหตุการณ์การโหลดสตรีม
ใช้โปรโตคอล
IMAAdsLoaderDelegate
เพื่อจัดการคำขอสตรีมที่สำเร็จหรือไม่สำเร็จ
- เมื่อสำเร็จ คุณจะได้รับออบเจ็กต์
IMAAdsLoadedDataที่มีIMAStreamManagerจัดเก็บค่าstreamManager.streamIdสำหรับเซสชัน DAI ปัจจุบัน - หากไม่สำเร็จ ให้บันทึกข้อผิดพลาด
ตัวอย่างต่อไปนี้จะจัดการเหตุการณ์ที่สตรีมโหลดแล้วและบันทึกเหตุการณ์ที่สตรีมโหลดไม่สำเร็จ
กำหนดเวลาการแทรกโฆษณา
หากต้องการกำหนดเวลาช่วงพักโฆษณา ให้สร้างออบเจ็กต์
AVPlayerInterstitialEvent
ตั้งค่าพร็อพเพอร์ตี้ templateItems ของออบเจ็กต์เหตุการณ์เป็นอาร์เรย์ของออบเจ็กต์
AVPlayerItem
โดยที่ออบเจ็กต์แต่ละรายการมี URL ของไฟล์ Manifest ของพ็อดโฆษณา
หากต้องการสร้าง URL ของไฟล์ Manifest ของพ็อดโฆษณา ให้ทำตามเอกสารประกอบวิธี: ไฟล์ Manifest ของพ็อด HLS
ตัวอย่างต่อไปนี้สร้างสตริงตัวระบุพ็อดโดยใช้เวลาปัจจุบันของไลฟ์สดเนื้อหาเพื่อวัตถุประสงค์ในการสาธิต
ฟังก์ชัน generatePodIdentifier
จะแสดงผลตัวระบุพ็อดเป็น ad_break_id/mid-roll-{minute}
ในแอปเวอร์ชันที่ใช้งานจริง ให้ดึงตัวระบุพ็อดจากแหล่งที่มาซึ่งมี ค่าที่ไม่ซ้ำกันสำหรับช่วงพักโฆษณาแต่ละช่วง โดยซิงค์ค่าดังกล่าวสำหรับผู้ชมการถ่ายทอดสดทุกคน
ตัวอย่างต่อไปนี้กำหนดเวลาให้ช่วงพักโฆษณาเริ่มภายใน 2 นาทีถัดไป หลังจากที่ผู้ใช้คลิกปุ่มเล่น
scheduleAdInsertion เมธอด
คำนวณเวลาเริ่มต้นของช่วงพักโฆษณาและสร้าง URL ของไฟล์ Manifest ของพ็อดโฆษณา ใช้
URL นี้เพื่อสร้างออบเจ็กต์ AVPlayerInterstitialEvent
ใช้ AVPlayerInterstitialEvent.Restrictions struct เพื่อจำกัดไม่ให้ผู้ใช้
ข้ามหรือกรอวิดีโอในระหว่างการเล่นโฆษณา (ไม่บังคับ)
จัดการเหตุการณ์โฆษณา
หากต้องการจัดการเหตุการณ์โฆษณา ให้ใช้โปรโตคอล
IMAStreamManagerDelegate
วิธีนี้ช่วยให้คุณติดตามได้ว่าช่วงพักโฆษณาเริ่มและสิ้นสุดเมื่อใด รวมถึงรับข้อมูลเกี่ยวกับโฆษณาแต่ละรายการ
เรียกใช้แอป หากสำเร็จ คุณจะขอและเล่นโฆษณาคั่นระหว่างหน้าได้โดยใช้ สตรีมไฟล์ Manifest ของการแสดงโฆษณาพ็อด