Việc khởi chạy một ứng dụng có chuỗi dàn xếp kiểu thác nước dài và nhiều bộ chuyển đổi bên thứ ba có thể làm tăng độ trễ của yêu cầu quảng cáo đối với những lượt hiển thị quan trọng xuất hiện đầu tiên trong phiên hoạt động của người dùng. Độ trễ của lượt hiển thị đầu tiên tăng lên có thể ngăn quảng cáo xuất hiện vì yêu cầu quảng cáo chưa trả về phản hồi.
Hướng dẫn này đề cập đến những nội dung sau để giảm độ trễ của ấn tượng đầu tiên trong các phiên của ứng dụng:
- Đặt thời gian chờ khởi chạy
- Xoá nguồn quảng cáo dạng thác nước khỏi yêu cầu đầu tiên
- Cải thiện hiệu suất cho những lượt hiển thị ít nhạy cảm về thời gian
Trước khi bắt đầu
Trước khi tiếp tục, hãy thiết lập Google Mobile Ads SDK (Legacy).
Đặt thời gian chờ khởi tạo
Để tránh bỏ lỡ cơ hội hiển thị, hãy đặt thời gian chờ khởi chạy. Phương pháp này giúp ứng dụng của bạn không vượt quá giới hạn thời gian mà bạn đã xác định. Bạn có thể tiếp tục với yêu cầu quảng cáo sau khi hết thời gian giới hạn mà bạn đặt hoặc sau khi quá trình khởi chạy hoàn tất.
Ví dụ sau đây đặt thời gian chờ khởi chạy là 5 giây:
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()
}
}
Xoá các nguồn quảng cáo dạng thác nước trong yêu cầu đầu tiên
Để phân phối quảng cáo mà không có thêm độ trễ từ các nguồn quảng cáo dạng thác nước, hãy triển khai tính năng phân đoạn khoá-giá trị để xoá các nguồn quảng cáo dạng thác nước trong yêu cầu quảng cáo đầu tiên. Hoàn tất các bước sau:
- Tạo nhóm dàn xếp và thêm nguồn quảng cáo đặt giá thầu.
- Thêm phân khúc khoá-giá trị vào
nhóm dàn xếp chỉ đặt giá thầu mới bằng khoá
latencyvà giá trịlow. - Ưu tiên nhóm dàn xếp chỉ đặt giá thầu mới hơn nhóm dàn xếp chính trong giao diện người dùng. Để điều chỉnh thứ tự, hãy thay đổi mức độ ưu tiên của nhóm dàn xếp.
Trong yêu cầu quảng cáo đầu tiên, hãy thêm cặp khoá-giá trị nhắm mục tiêu tuỳ chỉnh:
Kotlin
val request = AdRequest.Builder() .addCustomTargeting("latency", "low") .build()Java
AdRequest request = new AdRequest.Builder() .addCustomTargeting("latency", "low") .build();Kiểm tra chế độ thiết lập phân khúc khoá-giá trị để xác minh rằng bạn đang nhắm đến đúng nhóm dàn xếp chỉ đặt giá thầu mới.
Cải thiện hiệu suất cho những lượt hiển thị ít nhạy cảm về thời gian
Để cải thiện hiệu suất cho những lượt hiển thị ít nhạy cảm về thời gian, chẳng hạn như quảng cáo không cần hiển thị ngay khi khởi chạy ứng dụng, hãy sử dụng tính năng tải trước quảng cáo với một yêu cầu quảng cáo không nhắm đến nhóm dàn xếp chỉ đặt giá thầu.