การเริ่มต้นแอปด้วยเชนสื่อกลางการแสดงโฆษณาสื่อกลางตามลำดับขั้น (Waterfall Mediation) ที่ยาวและอะแดปเตอร์ของบุคคลที่สามหลายรายการอาจเพิ่มเวลาในการตอบสนองของคำขอโฆษณาสำหรับการแสดงผลที่สำคัญซึ่งแสดงก่อนในเซสชันของผู้ใช้ เวลาในการตอบสนองของการแสดงผลครั้งแรกที่เพิ่มขึ้นนี้อาจทำให้โฆษณาไม่แสดงเนื่องจากคำขอโฆษณายังไม่ได้รับคำตอบ
คู่มือนี้จะครอบคลุมสิ่งต่อไปนี้เพื่อลดเวลาในการตอบสนองของการแสดงผลครั้งแรกในเซสชันของแอป
- ตั้งค่าการหมดเวลาเริ่มต้น
- นำแหล่งที่มาของโฆษณาสื่อกลางตามลำดับขั้นออกจากคำขอแรก
- ปรับปรุงประสิทธิภาพของการแสดงผลที่ไม่เร่งด่วน
ก่อนเริ่มต้น
ตั้งค่า Google Mobile Ads SDK (Legacy) ก่อนดำเนินการต่อ
ตั้งค่าการหมดเวลาเริ่มต้น
ตั้งค่าการหมดเวลาเริ่มต้นเพื่อไม่ให้พลาดโอกาสในการแสดงผล แนวทางนี้จะป้องกันไม่ให้แอปใช้เวลาเกินขีดจำกัดที่คุณกำหนดไว้ คุณสามารถดำเนินการตามคำขอโฆษณาได้หลังจากหมดเวลาที่กำหนดไว้หรือหลังจากเริ่มต้นเสร็จสมบูรณ์
ตัวอย่างต่อไปนี้จะตั้งค่าการหมดเวลาเริ่มต้นเป็น 5 วินาที
Kotlin
// Set up a CONFLATED channel that only buffers the latest event.
private val adLoadChannel = Channel<Unit>(Channel.CONFLATED)
fun initialize(context: Context) {
// Coroutine to handle the 5-second timeout.
CoroutineScope(Dispatchers.Default).launch {
delay(5000L)
// 5 second timer elapsed
adLoadChannel.trySend(Unit)
}
// Coroutine to call MobileAds.initialize() on a background thread.
CoroutineScope(Dispatchers.IO).launch {
MobileAds.initialize(context) {
// Mobile Ads SDK initialization finished.
adLoadChannel.trySend(Unit)
}
}
// Coroutine to listen for init complete or timer, whichever comes first.
CoroutineScope(Dispatchers.Main).launch {
// Wait on the first event.
adLoadChannel.receive()
loadAd()
// Close the channel after receiving the first event.
adLoadChannel.close()
}
}
นำแหล่งที่มาของโฆษณาสื่อกลางตามลำดับขั้นออกจากคำขอแรก
หากต้องการแสดงโฆษณาโดยไม่มีเวลาในการตอบสนองเพิ่มเติมจากแหล่งที่มาของโฆษณาสื่อกลางตามลำดับขั้น ให้ใช้การแบ่งกลุ่มคีย์-ค่าเพื่อ นำแหล่งที่มาของโฆษณาสื่อกลางตามลำดับขั้นออกจากคำขอโฆษณาแรก ทำตามขั้นตอนต่อไปนี้
- สร้างกลุ่มสื่อกลาง และเพิ่มแหล่งที่มาของโฆษณาซึ่งใช้การเสนอราคา
- เพิ่มการแบ่งกลุ่มคีย์-ค่าลงใน
กลุ่มสื่อกลางใหม่ซึ่งใช้การเสนอราคาเท่านั้นโดยใช้คีย์
latencyและค่าlow - จัดลำดับความสำคัญของกลุ่มสื่อกลางใหม่ซึ่งใช้การเสนอราคาเท่านั้นให้อยู่เหนือกลุ่มสื่อกลางหลักใน UI หากต้องการปรับลำดับ ให้เปลี่ยนลำดับความสำคัญของกลุ่มสื่อกลาง
ในคำขอโฆษณาแรก ให้ใส่คู่คีย์-ค่าการกำหนดเป้าหมายเอง
Kotlin
val request = AdRequest.Builder() .addCustomTargeting("latency", "low") .build()Java
AdRequest request = new AdRequest.Builder() .addCustomTargeting("latency", "low") .build();ทดสอบการตั้งค่าการแบ่งกลุ่มคีย์-ค่า เพื่อยืนยันว่าคุณกำหนดเป้าหมายกลุ่มสื่อกลางใหม่ซึ่งใช้การเสนอราคาเท่านั้นอย่างถูกต้อง
ปรับปรุงประสิทธิภาพของการแสดงผลที่ไม่เร่งด่วน
หากต้องการปรับปรุงประสิทธิภาพของการแสดงผลที่ไม่เร่งด่วน เช่น โฆษณาที่ ไม่จำเป็นต้องแสดงทันทีที่เปิดแอป ให้ใช้ การโหลดโฆษณาล่วงหน้า ด้วยคำขอโฆษณาที่ไม่ได้กำหนดเป้าหมายกลุ่มสื่อกลางซึ่งใช้การเสนอราคาเท่านั้น