IMA SDK ช่วยให้ผสานรวมโฆษณามัลติมีเดียเข้ากับเว็บไซต์และแอปได้อย่างง่ายดาย IMA SDK สามารถ ขอโฆษณาจากเซิร์ฟเวอร์โฆษณา ที่รองรับ VAST และจัดการการเล่นโฆษณาในแอปได้ เมื่อใช้ IMA DAI SDK แอปจะส่ง คำขอสตรีมสำหรับโฆษณาและเนื้อหาวิดีโอ ไม่ว่าจะเป็นเนื้อหา VOD หรือเนื้อหาสด จากนั้น SDK จะแสดงสตรีมวิดีโอที่รวมกัน เพื่อให้คุณไม่ต้องจัดการการสลับระหว่างโฆษณาและวิดีโอเนื้อหา ภายในแอป
เลือกโซลูชัน DAI ที่คุณสนใจ
DAI แบบครบวงจร
คู่มือนี้แสดงวิธีผสานรวม IMA DAI SDK เข้ากับแอปโปรแกรมเล่นวิดีโออย่างง่าย หากต้องการดูหรือทำตามตัวอย่างการผสานรวมที่เสร็จสมบูรณ์แล้ว ให้ดาวน์โหลด BasicExample จาก GitHub
ภาพรวม IMA DAI
การติดตั้งใช้งาน 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 แล้วเลือกเปิดโปรเจ็กต์ Android Studio ที่มีอยู่ หรือหาก Android Studio ทำงานอยู่แล้ว ให้เลือกไฟล์ > ใหม่ > นำเข้า โปรเจ็กต์ จากนั้นเลือก
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