אם מאתחלים אפליקציה עם רשימות ארוכות של רשתות בתהליך בחירת הרשת וכמה מתאמים של צד שלישי, זה יכול להגדיל את זמן האחזור של הבקשות להצגת מודעות בחשיפות קריטיות שמוצגות ראשונות בסשן של המשתמש. העלייה בזמן האחזור של החשיפה הראשונה עלולה למנוע את הצגת המודעה, כי הבקשה להצגת המודעה עדיין לא החזירה תגובה.
במדריך הזה מוסבר איך לצמצם את זמן האחזור של הרושם הראשוני בסשנים של האפליקציה:
- הגדרת זמן קצוב לתפוגה של אתחול
- הסרת מקורות מודעות ב-Waterfall מהבקשה הראשונה
- שיפור הביצועים של חשיפות פחות רגישות לזמן
לפני שמתחילים
לפני שממשיכים, מגדירים את Google Mobile Ads SDK (Legacy).
הגדרת פסק זמן לאתחול
כדי לא לפספס הזדמנות לחשיפה, כדאי להגדיר זמן קצוב לתפוגה של ההפעלה. הגישה הזו מונעת מהאפליקציה לחרוג ממגבלת הזמן שהגדרתם. אפשר להמשיך עם הבקשה להצגת מודעה אחרי מגבלת הזמן שהגדרתם, או אחרי שההפעלה מסתיימת.
בדוגמה הבאה מוגדר זמן קצוב לתפוגה לאתחול של חמש שניות:
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()
}
}
הסרת מקורות מודעות ב-Waterfall בבקשה הראשונה
כדי להציג מודעות בלי זמן אחזור נוסף ממקורות מודעות ב-Waterfall, הטמיעו פילוח לפי מפתח/ערך כדי להסיר מקורות מודעות ב-Waterfall בבקשה הראשונה להצגת מודעה. כך עושים את זה:
- יוצרים קבוצה לבחירת רשת ומוסיפים מקורות של מודעות לבידינג.
- מוסיפים פילוח לפי מפתח/ערך לקבוצה החדשה לבחירת רשת (Mediation) לבידינג בלבד, באמצעות המפתח
latencyוהערךlow. - בממשק המשתמש, נותנים עדיפות לקבוצה החדשה לבחירת רשת (Mediation) שמוגדרת רק לבידינג על פני הקבוצה הראשית לבחירת רשת (Mediation). כדי לשנות את הסדר, משנים את העדיפות של הקבוצה לבחירת רשת.
בבקשה הראשונה להצגת מודעה, כוללים את צמד המפתח/ערך של הטירגוט המותאם אישית:
Kotlin
val request = AdRequest.Builder() .addCustomTargeting("latency", "low") .build()Java
AdRequest request = new AdRequest.Builder() .addCustomTargeting("latency", "low") .build();בודקים את ההגדרה של פילוח לפי מפתח/ערך כדי לוודא שהטירגוט של הקבוצה החדשה לבחירת רשת (Mediation) שמוגדרת להגשת הצעות מחיר בלבד מתבצע בצורה נכונה.
שיפור הביצועים בחשיפות פחות דחופות
כדי לשפר את הביצועים של חשיפות פחות רגישות לזמן, כמו מודעות שלא צריך להציג מיד עם הפעלת האפליקציה, אפשר להשתמש בטעינת מודעה מראש עם בקשה להצגת מודעה שלא מטרגטת את הקבוצה לבחירת רשת (Mediation) לבידינג בלבד.