מודעות מותאמות הן נכסי מודעות שמוצגים למשתמשים באמצעות רכיבי ממשק משתמש שמותאמים לפלטפורמה. הן מוצגות באמצעות אותם סוגים של תצוגות שבהם אתם כבר משתמשים כדי ליצור את הפריסות, ואפשר לעצב אותן כך שיתאימו לעיצוב החזותי של האפליקציה.
כשמודעה מותאמת נטענת, האפליקציה מקבלת אובייקט מודעה שמכיל את הנכסים שלה, ואז האפליקציה – ולא GMA Next-Gen SDK – אחראית להצגת הנכסים.
באופן כללי, יש שני חלקים להטמעה מוצלחת של מודעות מותאמות: טעינת מודעה באמצעות ה-SDK ואז הצגת תוכן המודעה באפליקציה.
בדף הזה מוסבר איך להשתמש ב-SDK כדי לטעון מודעות מותאמות. טיפ: מידע נוסף על מודעות מותאמות זמין במדריך שלנו למודעות מותאמות.
דוגמאות זמינות ל-Java ול-Kotlin.אפשר גם לעיין בכמה סיפורי הצלחה של לקוחות: case study 1, case study 2.
דרישות מוקדמות
- הגדרה של GMA Next-Gen SDK
- גרסה GMA Next-Gen SDK
1.0.0ואילך.
תמיד כדאי לבצע בדיקות באמצעות מודעות בדיקה
כשמפתחים ובודקים את האפליקציות, חשוב להשתמש במודעות בדיקה ולא במודעות פעילות לפרסום מוצרים. אם לא תעשו את זה, אנחנו עלולים להשעות את החשבון שלכם.
הדרך הכי קלה לטעון מודעות בדיקה היא להשתמש במזהה יחידת מודעות ייעודית לבדיקה שלנו למודעות מותאמות:
| פורמט מודעה | מזהה יחידת מודעות לדוגמה |
|---|---|
| מותאמת | ca-app-pub-3940256099942544/2247696110 |
| סרטון מקורי | ca-app-pub-3940256099942544/1044960115 |
טעינת מודעה
כדי לטעון מודעה מותאמת, מפעילים את method NativeAdLoader.load(), שמקבל NativeAdRequest ו-NativeAdLoaderCallback.
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAd
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoader
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoaderCallback
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdRequest
class NativeFragment : Fragment() {
private var nativeAd: NativeAd? = null
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
loadAd()
}
private fun loadAd() {
// Build an ad request with native ad options to customize the ad.
val adRequest = NativeAdRequest
.Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
.build()
val adCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Called when a native ad has loaded.
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Called when a native ad has failed to load.
}
}
// Load the native ad with our request and callback.
NativeAdLoader.load(adRequest, adCallback)
}
companion object {
// Sample native ad unit ID.
const val AD_UNIT_ID = "ca-app-pub-3940256099942544/2247696110"
}
}
הגדרת קריאה חוזרת (callback) לאירוע של מודעה מותאמת
כשמטפלים ב-onNativeAdLoaded, מגדירים את NativeAd שהתקבל באמצעות NativeAdEventCallback כדי להגדיר פונקציות לקבלת אירועים של מחזור החיים של מודעות מותאמות:
nativeAd.adEventCallback =
object : NativeAdEventCallback {
override fun onAdShowedFullScreenContent() {
// Native ad showed full screen content.
}
override fun onAdDismissedFullScreenContent() {
// Native ad dismissed full screen content.
}
override fun onAdFailedToShowFullScreenContent {
// Native ad failed to show full screen content.
}
override fun onAdImpression() {
// Native ad recorded an impression.
}
override fun onAdClicked() {
// Native ad recorded a click.
}
}
אופציונלי: טעינה של כמה מודעות
כדי לטעון כמה מודעות, קוראים ל-load() עם הפרמטר האופציונלי numberOfAds.
הערך המקסימלי שאפשר להגדיר הוא 5, שמייצג את מספר המודעות.
יכול להיות שהפונקציה GMA Next-Gen SDK לא תחזיר את המספר המדויק של המודעות שביקשתם.
private fun loadAd() {
// Build an ad request with native ad options to customize the ad.
val adRequest = NativeAdRequest
.Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
.build()
val adCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Called when a native ad has loaded.
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Called when a native ad has failed to load.
}
override fun onAdLoadingCompleted() {
// Called when all native ads have loaded.
}
}
// Load the native ad with our request and callback.
NativeAdLoader.load(adRequest, 3, adCallback)
}
המודעות ש-GMA Next-Gen SDK מוחזרות הן ייחודיות, אבל יכול להיות שהמודעות ממלאי שטחים שהוזמן או מקונים של צד שלישי לא יהיו ייחודיות.
אם אתם משתמשים בתהליך בחירת הרשת, אל תקראו לשיטה load(). בקשות להצגת כמה מודעות מותאמות לא פועלות במזהים של יחידות מודעות שהוגדרו לתהליך בחירת רשת.
שיטות מומלצות
חשוב לפעול לפי הכללים הבאים כשמטמיעים מודעות.
באפליקציות שבהן נעשה שימוש במודעות מותאמות ברשימה, צריך לבצע אחסון במטמון מראש של רשימת המודעות.
כשמבצעים שמירה מראש של מודעות במטמון, צריך לנקות את המטמון ולטעון מחדש אחרי שעה.
הגבילו את השמירה במטמון של מודעות מותאמות רק למה שצריך. לדוגמה, כשמבצעים טעינה מראש של מודעות, צריך לשמור במטמון רק את המודעות שמוצגות במסך באופן מיידי. למודעות מותאמות יש הזיכרון שבשימוש גדול, ושמירת מודעות מותאמות במטמון בלי להסיר אותן גורמת לשימוש מוגזם בזיכרון.
צריך להשמיד מודעות מותאמות כשאין בהן יותר שימוש.
שיפור המהירות באמצעות חומרה במודעות וידאו
כדי שמודעות וידאו יוצגו בהצלחה בתצוגות של מודעות מותאמות, צריך להפעיל האצת חומרה.
האצת חומרה מופעלת כברירת מחדל, אבל יכול להיות שאפליקציות מסוימות ישביתו אותה. אם זה המצב באפליקציה שלכם, מומלץ להפעיל האצת חומרה עבור מחלקות הפעילות שמשתמשות במודעות.
הפעלה של שיפור המהירות באמצעות חומרה
אם האפליקציה לא פועלת בצורה תקינה כשהאצת החומרה מופעלת באופן גלובלי, אפשר לשלוט בה גם עבור פעילויות ספציפיות. כדי להפעיל או להשבית את שיפור המהירות באמצעות חומרה, משתמשים במאפיין android:hardwareAccelerated ברכיבים <application> ו-<activity> ב-AndroidManifest.xml. בדוגמה הבאה מופעלת האצת חומרה לכל האפליקציה, אבל היא מושבתת לפעילות אחת:
<application android:hardwareAccelerated="true">
<!-- For activities that use ads, hardwareAcceleration should be true. -->
<activity android:hardwareAccelerated="true" />
<!-- For activities that don't use ads, hardwareAcceleration can be false. -->
<activity android:hardwareAccelerated="false" />
</application>
מידע נוסף על אפשרויות השליטה בהאצת חומרה מופיע במדריך להאצת חומרה. הערה: אי אפשר להפעיל שיפור מהירות באמצעות חומרה לצפיות נפרדות במודעות אם הפעילות מושבתת, ולכן צריך להפעיל שיפור מהירות באמצעות חומרה בפעילות עצמה.
הצגת המודעה
אחרי שטענתם מודעה, כל מה שנותר הוא להציג אותה למשתמשים. כאן מוסבר איך עושים את זה.
דוגמה
מורידים ומריצים את האפליקציה לדוגמה שמדגימה את השימוש ב-GMA Next-Gen SDK.