IMA SDK จะโหลดทรัพยากรที่เกี่ยวข้องเพื่อขอโฆษณา วัดการมองเห็นโฆษณา และรายงานการแสดงโฆษณา การกำหนดค่า IMA ก่อนส่งคำขอโฆษณาจะช่วยให้คุณมีเวลาในการโหลดทรัพยากร IMA ที่เกี่ยวข้องก่อนเล่นโฆษณาได้สูงสุด หน้านี้จะอธิบายวิธีจัดการเวลาในการโหลด IMA ในแอป
โทร ImaSdkFactory.initialize()
วิธีการ ImaSdkFactory.initialize()
จะเริ่มต้นโหลดทรัพยากร SDK ล่วงหน้าก่อนการขอโฆษณาครั้งแรก หากต้องการใช้ initialize()
คุณต้องมี IMA เวอร์ชัน 3.35.1 ขึ้นไป
เรียก ImaSdkFactory.initialize()
เมื่อแอปพลิเคชันเริ่มต้น หรือเรียกให้เร็วที่สุดเท่าที่โครงสร้างแอปอนุญาตในวงจรของแอปพลิเคชัน การเรียก initialize()
ใช้พารามิเตอร์ต่อไปนี้
context
: ใช้บริบทแอปพลิเคชัน ซึ่งพร้อมใช้งานเสมอตลอดอายุการใช้งานของแอปพลิเคชันsettings
: ส่งออบเจ็กต์ImaSdkSettings
ที่มีการตั้งค่าค่า การตั้งค่า IMA ที่ใช้ในการเรียกinitialize()
ต้องเหมือนกับค่าการตั้งค่าที่ใช้ในการเรียกcreateAdsLoader()
IMA SDK จะใช้การตั้งค่าเหล่านี้ โดยเฉพาะการตั้งค่าภาษา สำหรับคีย์แคช เราไม่แนะนําให้ใช้ค่าทดสอบหรือค่าสมมติสําหรับการตั้งค่าที่ใช้ในinitialize()
method call เนื่องจากอาจเกิดแคชไม่พบและทำให้เวลาในการโหลดโฆษณาเพิ่มขึ้น
ใช้อินสแตนซ์ AdsLoader
ซ้ำ
เราขอแนะนำให้คุณนําAdsLoader
เดิมมาใช้ซ้ำเพื่อปรับปรุงเวลาในการโหลด IMA อินเทอร์เฟซ AdsLoader
สามารถจัดการคําขอโฆษณาหรือสตรีมหลายรายการ
หลีกเลี่ยงการสร้างอินสแตนซ์ AdsLoader
ใหม่สำหรับคำขอแต่ละรายการ การสร้างAdsLoader
อินสแตนซ์ใหม่ต้องใช้เวลาในการโหลดและใช้ทรัพยากรของอุปกรณ์เพิ่มเติม
จัดการเวลาในการโหลดด้วยส่วนขยาย ExoPlayer-IMA
แอปที่ใช้ส่วนขยาย ExoPlayer-IMA จะสร้างอินสแตนซ์ AdsLoader
ขึ้นมาใหม่ทุกครั้งที่โหลดโฆษณา การเรียกใช้ initialize()
จะเร่งคําขอโฆษณาแรกของ AdLoader
หากต้องการเร่งคำขอโฆษณาแรกสำหรับกิจกรรมใหม่ ให้โทร initialize()
อีกครั้งเมื่อเริ่มกิจกรรมใหม่
ขอโฆษณาล่วงหน้าก่อนเล่น
หากมีสิทธิ์เข้าถึงอินสแตนซ์ AdsLoader
ก่อนเริ่มเล่นโฆษณา คุณก็เรียกใช้เมธอด AdsLoader.requestAds()
ได้ตั้งแต่เนิ่นๆ การเรียกใช้นี้จะเริ่มต้นการโหลดโฆษณาก่อนแสดงวิดีโอ เมื่อผู้ใช้พร้อมที่จะเริ่มเล่นเนื้อหา ให้เรียกใช้เมธอด AdsManager.init()
แล้วรอเหตุการณ์ LOADED
เพื่อเล่นโฆษณา