IMA SDK ช่วยให้ผสานรวมโฆษณามัลติมีเดียเข้ากับเว็บไซต์และแอปได้อย่างง่ายดาย IMA SDK สามารถ ขอโฆษณาจากเซิร์ฟเวอร์โฆษณา ที่รองรับ VAST และจัดการการเล่นโฆษณาในแอปได้ เมื่อใช้ IMA DAI SDK แอปจะส่งคำขอสตรีมสำหรับโฆษณาและเนื้อหาวิดีโอ ไม่ว่าจะเป็นเนื้อหา VOD หรือเนื้อหาสด จากนั้น SDK จะแสดงสตรีมวิดีโอที่รวมกัน เพื่อให้คุณไม่ต้องจัดการการสลับระหว่างโฆษณาและวิดีโอเนื้อหาภายในแอป
เลือกโซลูชัน DAI ที่คุณสนใจ
DAI แบบบริการเต็มรูปแบบ
คู่มือนี้แสดงวิธีผสานรวม IMA DAI SDK เข้ากับแอปวิดีโอเพลเยอร์อย่างง่าย หากต้องการดูหรือทำตามตัวอย่างการผสานรวมที่เสร็จสมบูรณ์แล้ว ให้ดาวน์โหลด BasicExample จาก GitHub
ภาพรวม DAI ของ IMA
การติดตั้งใช้งาน IMA DAI มีองค์ประกอบ SDK หลัก 4 อย่างดังที่แสดงใน คู่มือนี้
StreamDisplayContainer: ออบเจ็กต์คอนเทนเนอร์ที่อยู่เหนือองค์ประกอบการเล่นวิดีโอและมีองค์ประกอบ UI ของโฆษณาAdsLoader: ออบเจ็กต์ที่ขอสตรีมและจัดการเหตุการณ์ที่ทริกเกอร์โดยออบเจ็กต์การตอบกลับคำขอสตรีม คุณควรสร้างอินสแตนซ์ของ AdsLoader เพียงรายการเดียว ซึ่งสามารถนำกลับมาใช้ใหม่ได้ตลอดอายุการใช้งานของแอปพลิเคชันStreamRequest: ออบเจ็กต์ที่กำหนดคำขอสตรีม คำขอสตรีมอาจเป็นคำขอสำหรับวิดีโอออนดีมานด์หรือไลฟ์สด คำขอไลฟ์สดจะระบุคีย์เนื้อหา ส่วนคำขอ VOD จะระบุรหัส CMS และรหัสวิดีโอ คำขอทั้ง 2 ประเภทอาจมีคีย์ API ที่จำเป็นต่อการเข้าถึงสตรีมที่ระบุ และรหัสเครือข่าย Google Ad Manager สำหรับ IMA SDK เพื่อจัดการตัวระบุโฆษณาตามที่ระบุในการตั้งค่า Google Ad ManagerStreamManager: ออบเจ็กต์ที่จัดการสตรีมการแทรกโฆษณาแบบไดนามิกและการโต้ตอบกับแบ็กเอนด์ DAI นอกจากนี้ ตัวจัดการสตรีมยังจัดการการติดตาม Ping และส่งต่อเหตุการณ์สตรีมและโฆษณาไปยัง ผู้เผยแพร่โฆษณาด้วย
ข้อกำหนดเบื้องต้น
- Android Studio
- แอปโปรแกรมเล่นวิดีโอตัวอย่างสำหรับการผสานรวม SDK
ดาวน์โหลดและเรียกใช้แอปวิดีโอเพลเยอร์ตัวอย่าง
แอปตัวอย่างมีวิดีโอเพลเยอร์ที่ใช้งานได้ซึ่งเล่นวิดีโอ HLS ใช้เป็น จุดเริ่มต้นในการผสานรวมความสามารถ DAI ของ IMA DAI SDK
ดาวน์โหลดแอปเครื่องเล่นวิดีโอตัวอย่างและ แตกไฟล์
เริ่ม Android Studio แล้วเลือก Open an existing Android Studio project หรือหาก Android Studio ทำงานอยู่แล้ว ให้เลือก File > New > Import Project จากนั้นเลือก
SampleVideoPlayer/build.gradleเรียกใช้การซิงค์ Gradle โดยเลือกเครื่องมือ > Android > ซิงค์โปรเจ็กต์กับไฟล์ Gradle
ตรวจสอบว่าแอปเพลเยอร์คอมไพล์และทำงานในอุปกรณ์ Android จริงหรืออุปกรณ์ Android เสมือนโดยใช้เรียกใช้ > เรียกใช้ "แอป" เป็นเรื่องปกติที่สตรีมวิดีโอจะใช้เวลาสักครู่ในการโหลดก่อนที่จะเล่น
ตรวจสอบวิดีโอเพลเยอร์ตัวอย่าง
โปรแกรมเล่นวิดีโอตัวอย่างยังไม่มีโค้ดการผสานรวม IMA DAI SDK แอปตัวอย่างประกอบด้วย 2 ส่วนหลักๆ ดังนี้
samplevideoplayer/SampleVideoPlayer.java: เพลเยอร์ HLS ที่อิงตาม ExoPlayer ซึ่งเป็นพื้นฐาน สำหรับการผสานรวม IMA DAIvideoplayerapp/MyActivity.java: กิจกรรมนี้จะสร้างวิดีโอเพลเยอร์และส่งContextและmedia3.ui.PlayerViewไปให้
เพิ่ม IMA DAI SDK ลงในแอปเพลเยอร์
นอกจากนี้ คุณต้องใส่การอ้างอิงถึง IMA DAI SDK ด้วย ใน Android Studio ให้เพิ่มโค้ดต่อไปนี้ลงในไฟล์ build.gradle ระดับแอปพลิเคชัน ซึ่งอยู่ที่ app/build.gradle IMA SDK ต้องเปิดใช้การยกเลิกการเพิ่มน้ำตาลในไลบรารี ซึ่งคุณต้องทำโดยการตั้งค่า coreLibraryDesugaringEnabled true และเพิ่ม
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5' เป็นทรัพยากร Dependency ในไฟล์ build.gradle ดูรายละเอียดเพิ่มเติมได้ที่
API ของ Java 11 ขึ้นไปที่ใช้ได้ผ่านการยกเลิกการเพิ่มไวยากรณ์ด้วยข้อกำหนด nio
ผสานรวม IMA DAI SDK
สร้างคลาสใหม่ชื่อ
SampleAdsWrapperในแพ็กเกจvideoplayerapp(ในapp/java/com.google.ads.interactivemedia.v3.samples/videoplayerapp/) เพื่อ ห่อหุ้มSampleVideoPlayerที่มีอยู่และเพิ่มตรรกะที่ใช้ IMA DAI หากต้องการทำเช่นนี้ คุณต้องสร้างAdsLoaderก่อน ซึ่งใช้เพื่อขอสตรีม DAIข้อมูลโค้ดนี้มีพารามิเตอร์ตัวอย่างสำหรับ HLS และ DASH, สตรีมแบบสดและ VOD หากต้องการตั้งค่าสตรีมที่จะเล่น ให้อัปเดต
CONTENT_TYPEตัวแปรสร้าง
createSampleVideoPlayerCallback()เมธอดตัวช่วยเพื่อจัดการการสร้าง อินสแตนซ์อินเทอร์เฟซSampleVideoPlayerCallbackซึ่งขยายVideoStreamPlayer.VideoStreamPlayerCallbackหากต้องการใช้ DAI โปรแกรมเล่นต้องส่งเหตุการณ์ ID3 ไปยัง IMA DAI SDK เมธอด
callback.onUserTextReceived()จะทำเช่นนี้ในตัวอย่าง โค้ดต่อไปนี้เพิ่มวิธีการ
buildStreamRequest()เพื่อสร้างSteamRequestวิธีนี้จะสลับระหว่างสตรีมต่างๆ ตามวิธีที่คุณตั้งค่าตัวแปรCONTENT_TYPEสตรีมเริ่มต้นที่ใช้ในคู่มือนี้คือสตรีม HLS ของ VOD ตัวอย่างของ IMAนอกจากนี้ คุณยังต้องมี
VideoStreamPlayerเพื่อเล่นสตรีมด้วย ดังนั้นให้เพิ่มเมธอดcreateVideoStreamPlayer()ซึ่งจะสร้างคลาสที่ไม่ระบุตัวตนซึ่ง ใช้VideoStreamPlayerใช้ Listener ที่จำเป็นและเพิ่มการรองรับการจัดการข้อผิดพลาด
โปรดทราบการใช้งาน
AdErrorListenerเนื่องจากจะเรียกใช้ URL สำรองหากโฆษณาเล่นไม่สำเร็จ เนื่องจากเนื้อหาและโฆษณาอยู่ในสตรีมเดียวกัน คุณจึงต้อง พร้อมที่จะเรียกสตรีมสำรองหากสตรีม DAI พบข้อผิดพลาดเพิ่มโค้ดสำหรับการบันทึก
แก้ไข
MyActivityในvideoplayerappเพื่อสร้างอินสแตนซ์และเรียกใช้SampleAdsWrapperนอกจากนี้ ให้เรียกใช้ImaSdkFactory.initialize()ที่นี่ โดยใช้วิธีการช่วยเพื่อสร้างอินสแตนซ์ImaSdkSettingsเพิ่มเมธอดตัวช่วย
getImaSdkSettings()เพื่อสร้างอินสแตนซ์ImaSdkSettingsแก้ไขไฟล์เลย์เอาต์ของกิจกรรม
activity_my.xmlเพื่อเพิ่มองค์ประกอบ UI สำหรับ การบันทึก
ยินดีด้วย ตอนนี้คุณกำลังขอและแสดงโฆษณาวิดีโอในแอป Android อยู่ หากต้องการปรับแต่งการใช้งาน โปรดดู ที่คั่นหน้า Snapback และเอกสารประกอบ API
การแก้ปัญหา
หากพบปัญหาในการเล่นโฆษณาวิดีโอ ให้ลองดาวน์โหลด BasicExample ที่เสร็จสมบูรณ์แล้ว หากทำงานได้อย่างถูกต้องใน BasicExample แสดงว่าโค้ดการผสานรวม IMA ของแอปน่าจะมีปัญหา
หากยังพบปัญหาอยู่ โปรดไปที่ฟอรัม IMA SDK