כדי לשלב מודעות מותאמות ומודעות באנר בבקשות להצגת מודעות, צריך לבצע כמה שינויים בקוד.
דרישות מוקדמות
- מבצעים את ההוראות במדריך לתחילת העבודה.
טעינת מודעה
כדי לשלוח בקשה משולבת למודעות מותאמות ולמודעות באנר:
מעבירים את הסוג
NativeAdType.NATIVEואת הסוגNativeAdType.BANNERכרשימה ב-NativeAdRequest.צריך להגדיר לפחות גודל אחד של מודעת באנר.
בדוגמאות הבאות נטענת מודעה משולבת של מודעה מותאמת ומודעת באנר:
Kotlin
val adRequest =
NativeAdRequest.Builder(AD_UNIT_ID, listOf(NativeAdType.NATIVE, NativeAdType.BANNER))
// Use setAdSize() or setAdSizes() depending on if you want multiple ad sizes or not.
.setAdSizes(listOf(AdSize.BANNER, AdSize.LARGE_BANNER))
.build()
// Load the native and banner ad with the ad request and callback.
NativeAdLoader.load(adRequest, getNativeAdLoaderCallback())
Java
NativeAdRequest adRequest =
new NativeAdRequest.Builder(AD_UNIT_ID, List.of(NativeAdType.NATIVE, NativeAdType.BANNER))
// Use setAdSize() or setAdSizes() depending on if you want multiple ad sizes or not.
.setAdSizes(Arrays.asList(AdSize.BANNER, AdSize.LARGE_BANNER))
.build();
// Load the native and banner ad with the ad request and callback.
NativeAdLoader.load(adRequest, getNativeAdLoaderCallback());
צריך להגדיר גודל מודעה שקטן מגודל המסך של המכשיר או שווה לו.
כדי לקבוע את גודל המסך המקסימלי, משתמשים ב-method Resources.getDisplayMetrics. המידות של האובייקט AdSize מוגדרות בפיקסלים שלא תלויים בצפיפות (dp). כשמשווים, צריך להמיר את גודל המסך מפיקסלים ל-dp.
לפרטים על מגבלות הגודל, קראו את המאמר פתרון בעיות שקשורות לחשיפות שלא מולאו ב-Ad Manager.
מקבלים את המודעה מהאובייקט NativeAdLoaderCallback
בהתאם לסוג המודעה שנטענה בהצלחה, האובייקט NativeAdLoaderCallback קורא ל-method onNativeAdLoaded() למודעות מותאמות ול-method onBannerAdLoaded() למודעות באנר.
בדוגמה הבאה מוצגת בקשה לקבלת מודעות באנר או מודעות מותאמות:
Kotlin
private fun getNativeAdLoaderCallback(): NativeAdLoaderCallback {
return object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Called when a native ad has loaded.
}
override fun onBannerAdLoaded(bannerAd: BannerAd) {
// Called when a banner ad has loaded.
}
}
}
Java
private NativeAdLoaderCallback getNativeAdLoaderCallback() {
return new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
// Called when a native ad has loaded.
}
@Override
public void onBannerAdLoaded(@NonNull BannerAd bannerAd) {
// Called when a banner ad has loaded.
}
};
}