การโหลดโฆษณาล่วงหน้าเป็นฟีเจอร์การโหลดโฆษณาใน GMA Next-Gen SDK ที่จะโหลดโฆษณาในเบื้องหลังและแคชโฆษณาก่อนแสดง หากต้องการปรับปรุงประสิทธิภาพโดยใช้การโหลดโฆษณาล่วงหน้า ให้ปิดใช้การแคชที่กำหนดเองและมอบสิทธิ์ความรับผิดชอบนั้นให้กับ GMA Next-Gen SDK
การโหลดโฆษณาล่วงหน้าใน GMA Next-Gen SDK จะโหลดและแคชโฆษณาโดยอัตโนมัติ
การโหลดโฆษณาล่วงหน้ามีประโยชน์ดังนี้
- การจัดการข้อมูลอ้างอิง: เก็บข้อมูลอ้างอิงไว้จนกว่าโฆษณาจะแสดง
- การโหลดซ้ำอัตโนมัติ: โหลดโฆษณาใหม่เมื่อดึงโฆษณาจากแคช
- การลองใหม่ที่มีการจัดการ: โหลดโฆษณาใหม่เมื่อโหลดโฆษณาไม่สำเร็จ
- การจัดการการหมดอายุ: รีเฟรชโฆษณาก่อนหมดอายุ
- การเพิ่มประสิทธิภาพแคช: เพิ่มประสิทธิภาพลำดับแคชเพื่อแสดงโฆษณาที่มีลำดับความสำคัญสูงสุด
เปรียบเทียบการโหลดโฆษณาล่วงหน้ากับการโหลดครั้งเดียว
ใช้การโหลดโฆษณาล่วงหน้าเป็นการผสานรวมเริ่มต้นสำหรับโฆษณาแบบเต็มหน้าจอในแอป
ข้อมูลต่อไปนี้เปรียบเทียบการโหลดโฆษณาล่วงหน้าและคำขอโฆษณาแบบโหลดครั้งเดียว
การโหลดโฆษณาล่วงหน้า
ใช้การโหลดโฆษณาล่วงหน้าเพื่อรับข้อดีต่อไปนี้
- การจัดการวงจรโดยอัตโนมัติ: มอบสิทธิ์การแคชโฆษณา การติดตามการหมดอายุ การลองส่งคำขอที่ล้มเหลวอีกครั้ง และการรีเฟรชโฆษณาให้ GMA Next-Gen SDK โดยไม่ต้องเขียนหรือดูแลรักษาโค้ดวงจรที่กำหนดเอง เมื่อคุณได้รับโฆษณาที่โหลดไว้ล่วงหน้าจากแคชเพื่อแสดง GMA Next-Gen SDK จะโหลดโฆษณาแทนโดยอัตโนมัติ
- โฆษณาพร้อมแสดงที่จุดเปลี่ยน: โหลดโฆษณาล่วงหน้าเพื่อแสดงโฆษณาเมื่อผู้ใช้เปลี่ยนระดับหรือหน้าจอ
- การเลือกโฆษณาที่เพิ่มประสิทธิภาพ: ให้ GMA Next-Gen SDK จัดเก็บโฆษณาหลายรายการต่อการกำหนดค่าการโหลดล่วงหน้า และแสดงโฆษณาที่มีลำดับความสำคัญสูงสุดจากแคชทุกครั้งที่คุณแสดงโฆษณา
การโหลดครั้งเดียว
ใช้คำขอโฆษณาแบบโหลดครั้งเดียวเมื่อคุณต้องการควบคุมคำขอโฆษณาแต่ละรายการโดยตรงเท่านั้น เช่น
- สื่อกลางขาเข้า: หากคุณใช้สื่อกลาง GMA Next-Gen SDK ผ่านแพลตฟอร์มสื่อกลางของบุคคลที่สาม เช่น การเสนอราคาของพาร์ทเนอร์ ให้ใช้คำขอโฆษณาแบบโหลดครั้งเดียว โปรดดูรายละเอียดที่หัวข้อเกี่ยวกับการเสนอราคาของพาร์ทเนอร์ เนื่องจาก SDK สื่อกลางของบุคคลที่สามจะจัดการ Waterfall, การแคช และรอบการรีเฟรช GMA Next-Gen SDK จึงคาดหวังคำขอโฆษณาเดียวสำหรับการเรียกใช้การโหลดอะแดปเตอร์แต่ละครั้ง
- คำขอโฆษณาที่กำหนดเอง: หากคุณตั้งค่าพารามิเตอร์
AdRequestที่กำหนดเองซึ่งเปลี่ยนแปลงก่อนคำขอแต่ละรายการ ให้ใช้คำขอโฆษณาแบบโหลดครั้งเดียว การอัปเดตออบเจ็กต์PreloadConfigurationจะรีสตาร์ทการโหลดล่วงหน้าและล้างโฆษณาที่แคชไว้
เปรียบเทียบพฤติกรรมวงจรของโฆษณา
ตารางต่อไปนี้เปรียบเทียบวิธีที่การโหลดโฆษณาล่วงหน้าและการโหลดครั้งเดียวจัดการกับพฤติกรรมวงจรของโฆษณา
| พฤติกรรม | การโหลดโฆษณาล่วงหน้า | API แบบโหลดครั้งเดียว |
|---|---|---|
| โฆษณาที่หน้าร้าน | จัดเก็บโฆษณาที่โหลดไว้ในแคชภายในจนกว่าคุณจะเรียกใช้เมธอด pollAd |
แอปต้องจัดเก็บการอ้างอิงออบเจ็กต์โฆษณาที่โหลดไว้ในตัวแปรสมาชิกจนกว่าคุณจะแสดงโฆษณา |
| โหลดโฆษณาซ้ำ | โหลดโฆษณาทดแทนโดยอัตโนมัติเมื่อคุณดึงโฆษณาจากแคช | แอปของคุณต้องเรียกใช้เมธอด load ด้วยตนเองหลังจากที่ผู้ใช้ปิดโฆษณาหรือโฆษณาไม่แสดง |
| การลองส่งคำขอที่ล้มเหลวอีกครั้ง | ลองส่งคำขอที่ดำเนินการไม่สำเร็จอีกครั้งโดยอัตโนมัติโดยใช้ Exponential Backoff | ต้องใช้ตรรกะการลองใหม่ที่กำหนดเองเพื่อจัดการคำขอที่ดำเนินการไม่สำเร็จ |
| การหมดอายุและการรีเฟรช | ติดตามการหมดอายุของโฆษณาและรีเฟรชโฆษณาที่หมดอายุในแคชโดยอัตโนมัติ | แอปของคุณต้องติดตามเวลาหมดอายุและส่งคำขอโฆษณาด้วยตนเอง |
| การเพิ่มประสิทธิภาพแคช | จัดเก็บโฆษณาหลายรายการต่อการกำหนดค่าการโหลดล่วงหน้า และแสดงโฆษณาที่มีลำดับความสำคัญสูงสุดก่อน | โหลดโฆษณา 1 รายการต่อคำขอโดยไม่มีคิวหรือลำดับแคชในตัว |
วงจรการโหลดโฆษณาล่วงหน้า
การโหลดโฆษณาล่วงหน้าจะแทนที่การเรียกใช้การโหลดโฆษณาด้วยตนเองด้วยขั้นตอนวงจรต่อไปนี้
- เริ่มการโหลดโฆษณาล่วงหน้า: เรียกใช้เมธอด
start1 ครั้งต่อการกำหนดค่าการโหลดล่วงหน้า ดูรายละเอียดการติดตั้งใช้งานได้ที่โฆษณาเปิดแอป โฆษณาคั่นระหว่างหน้า โฆษณาที่มีการให้รางวัล หรือโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล - รับและแสดงโฆษณาที่โหลดไว้ล่วงหน้า: เรียกใช้เมธอด
pollAdแล้วเรียกใช้เมธอดshowดูรายละเอียดการติดตั้งใช้งานได้ที่โฆษณาเปิดแอป โฆษณาคั่นระหว่างหน้า โฆษณาที่มีการให้รางวัล หรือโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล - ไม่บังคับ: หยุดโหลดโฆษณาล่วงหน้า: เรียกใช้เมธอด
destroyหรือdestroyAllดูรายละเอียดการติดตั้งใช้งานได้ที่โฆษณาเปิดแอป โฆษณาคั่นระหว่างหน้า โฆษณาที่มีการให้รางวัล หรือโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล
ขีดจำกัดแคชที่โหลดล่วงหน้า
ขนาดบัฟเฟอร์จะควบคุมจำนวนโฆษณาที่โหลดล่วงหน้าซึ่งเก็บไว้ในหน่วยความจำสำหรับการกำหนดค่าการโหลดล่วงหน้า โดยค่าเริ่มต้น Google จะเพิ่มประสิทธิภาพขนาดบัฟเฟอร์เพื่อสร้างสมดุลระหว่างการใช้หน่วยความจำและเวลาในการตอบสนองของการแสดงโฆษณา
GMA Next-Gen SDK บังคับใช้ขีดจำกัดทั่วทั้งแอปสำหรับจำนวนโฆษณาที่โหลดล่วงหน้าทั้งหมดในหน่วยโฆษณาและรหัสการโหลดล่วงหน้าทั้งหมด ดังนี้
- ขีดจำกัดเริ่มต้นทั่วทั้งแอป: GMA Next-Gen SDK จะเก็บโฆษณาที่โหลดไว้ล่วงหน้าได้สูงสุด 6 รายการในหน่วยความจำสำหรับทุกรูปแบบและรหัสการโหลดล่วงหน้า
- ขนาดบัฟเฟอร์ที่แนะนำ: เราขอแนะนำให้ใช้ขนาดบัฟเฟอร์เป็น 2 สำหรับรหัสการโหลดล่วงหน้าแต่ละรหัส
ขั้นตอนถัดไป
GMA Next-Gen SDK รองรับการโหลดโฆษณาล่วงหน้าสำหรับรูปแบบโฆษณาแบบเต็มหน้าจอ รูปแบบโฆษณาแบนเนอร์และโฆษณาเนทีฟจะไม่ใช้การโหลดโฆษณาล่วงหน้า โฆษณาแบนเนอร์จะรีเฟรชโดยอัตโนมัติตามการกำหนดค่าหน่วยโฆษณา และโฆษณาเนทีฟจะใช้คลาส NativeAdLoader
ผสานรวมการโหลดโฆษณาล่วงหน้าสำหรับรูปแบบโฆษณาที่เลือกหรือเพิ่มประสิทธิภาพเวลาในการตอบสนองของการเปิดใช้งาน