הגדרות של סגנון מותאם מאפשרות ל-Google Ad Manager לעבד את המודעות המותאמות שלכם על סמך סגנונות מותאמים שאתם מציינים במוצר. קודם כל, מציינים את הגודל והטירגוט.
לאחר מכן מוסיפים HTML, CSS ו-JavaScript כדי להגדיר מודעות רספונסיביות שמוצגות באיכות גבוהה בכל המסכים. אתם לא צריכים לעשות שום דבר שקשור לעיבוד. מערכת Ad Manager מחילה באופן אוטומטי את הסגנון המתאים של המודעה המותאמת ליעד. סגנונות מותאמים מוטמעים בדיוק כמו מודעות באנר, באמצעות GAMBannerView. אפשר להשתמש בהם עם גודל מודעה קבוע שנקבע מראש, או עם גודל מודעה גמיש שנקבע בזמן הריצה.
דרישות מוקדמות
- Google Mobile Ads SDK מגרסה 7.14.0 ואילך
המדריך הזה מניח שיש לכם ידע בסיסי ב-Google Mobile Ads SDK. אם עדיין לא עשיתם זאת, כדאי לעיין במדריך תחילת העבודה.
גודל קבוע
סגנונות מותאמים בגודל קבוע מאפשרים לכם לשלוט ברוחב ובגובה של המודעה המותאמת.
כדי להגדיר גודל קבוע:
צריך להגדיר גודל מודעה שקטן מגודל המסך של המכשיר או שווה לו.
כדי לקבוע את גודל המסך המקסימלי ב-iOS 26 ואילך, משתמשים במאפיין UIWindowScene.effectiveGeometry.coordinateSpace. ב-iOS 18 ובגרסאות קודמות, משתמשים במאפיין UIWindowScene.coordinateSpace.
לפרטים על מגבלות הגודל, קראו את המאמר פתרון בעיות שקשורות לחשיפות שלא מולאו ב-Ad Manager.
יוצרים פריט בממשק המשתמש של Ad Manager ובוחרים אחד מהגדלים שהוגדרו מראש בתפריט הנפתח של השדה
Size.ב-Interface Builder, מגדירים את הרוחב והגובה של
GAMBannerViewכך שיתאימו לגודל שהוגדר מראש שבחרתם בשלב 1. רשימה של הגדלים והקבועים התואמים שלGADAdSizeמופיעה בקטע גודל מודעת הבאנר.
כדי להטמיע סגנונות מותאמים בגודל קבוע, פשוט פועלים לפי ההוראות במאמר הבקשה הראשונה שלכם למודעת באנר. עם זאת, אתם מקבלים גמישות ושליטה ב-HTML, ב-CSS וב-JavaScript כדי להעניק למודעת הבאנר מראה ותחושה מותאמים שיראו טבעיים באפליקציה.
גודל גמיש
במקרים מסוימים, גודל קבוע לא מתאים. לדוגמה, יכול להיות שתרצו שרוחב המודעה יתאים לתוכן של האפליקציה, אבל הגובה שלה יותאם באופן דינמי לתוכן של המודעה. כדי לטפל במקרה הזה, אפשר לציין את הגודל Fluid בממשק המשתמש של Ad Manager, שמציין שגודל המודעה נקבע בזמן הריצה באפליקציה. ערכת ה-SDK מספקת קבוע מיוחד של GADAdSize, kGADAdSizeFluid, כדי לטפל במקרה הזה. הגובה של גודל המודעה הגמיש נקבע באופן דינמי על סמך הרוחב שבעל האתר הגדיר, וכך GAMBannerView יכול להתאים את הגובה שלו לזה של הקריאייטיב.
בקשה גמישה
בניגוד לפורמטים אחרים של מודעות, לגודל המודעה kGADAdSizeFluid אין רוחב מוגדר מראש, לכן חשוב להגדיר במפורש את רוחב המסגרת של מודעת הבאנר בקוד או ב-Interface Builder. אם לא מציינים רוחב, ערכת ה-SDK מגדירה כברירת מחדל את גובה המודעה בהתאם לרוחב המלא של המכשיר.
אם שולחים בקשה למודעה בגודל גמיש שכוללת את kGADAdSizeFluid, המודעה שמוחזרת תמיד ממוקמת בתוך מאגר גמיש ומתנהגת כמו מודעה גמישה. אם קריאייטיב לא גמיש מוחזר בקונטיינר הגמיש הזה, ערכת ה-SDK ממקמת את המודעה במרכז הקונטיינר, כך שלא צריך לשנות את אילוץ הרוחב בכל פעם שמוחזרת מודעה חדשה.
ההטמעה של בקשה להצגת מודעה בגודל יחיד ובקשה להצגת מודעה בגודל גמיש דומה מאוד. ההבדל היחיד הוא שבבקשה להצגת מודעה בגודל גמיש, מגדירים את המאפיין validAdSizes כדי לציין את גודלי המודעות שתקפים לבקשה להצגת מודעה:
Swift
bannerView.validAdSizes = [nsValue(for: AdSizeFluid), nsValue(for: AdSizeBanner)]
Objective-C
_bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
NSValueFromGADAdSize(kGADAdSizeBanner) ];
כך נראית ההטמעה המלאה בקוד:
Swift
var bannerView: AdManagerBannerView!
override func viewDidLoad() {
super.viewDidLoad()
// Create the GAMBannerView and set its width to a width that makes sense for your
// app. In this example, the width is set to the width of the UIViewController's
// root view.
bannerView = AdManagerBannerView(adSize: AdSizeFluid)
var frameRect = bannerView.frame
frameRect.size.width = view.bounds.width
bannerView.frame = frameRect
// Uncomment this code for a multisize fluid request.
// bannerView.validAdSizes = [nsValue(for: AdSizeFluid), nsValue(for: AdSizeBanner)]
bannerView.adUnitID = "YOUR_AD_UNIT_ID"
bannerView.rootViewController = self
// Make the ad request.
bannerView.load(AdManagerRequest())
}
Objective-C
GAMBannerView *_bannerView;
- (void)viewDidLoad {
[super viewDidLoad];
// Create the GAMBannerView and set its width to a width that makes sense for your
// app. In this example, the width is set to the width of the UIViewController's
// root view.
_bannerView = [[GAMBannerView alloc] initWithAdSize:kGADAdSizeFluid];
CGRect frameRect = _bannerView.frame;
frameRect.size.width = CGRectGetWidth(self.view.bounds);
_bannerView.frame = frameRect;
// Uncomment this code for a multisize fluid request.
// _bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
// NSValueFromGADAdSize(kGADAdSizeBanner) ];
_bannerView.adUnitID = @"YOUR_AD_UNIT_ID";
_bannerView.rootViewController = self;
// Make the ad request.
[_bannerView loadRequest:[GAMRequest request]];
}
כדי לראות דוגמה להטמעה של גודל המודעה "גמיש" ב-Ad Manager, הורידו את אפליקציית ההדגמה של iOS API ב-Swift או ב-Objective-C.
פרוטוקול GADAdSizeDelegate
יכול להיות שתרצו לדעת מה הגובה של מודעת באנר לפני שגודל המודעה משתנה.
הקריאה החוזרת (callback) של adView:willChangeAdSizeTo: מודיעה לנציג שלה לפני שתצוגת הבאנר משתנה ל-GADAdSize החדש. כדי לקבל התראה לפני שהתצוגה של מודעת הבאנר משתנה לגודל המודעה החדש, המחלקה צריכה להתאים לפרוטוקול GADAdSizeDelegate.
הנה דוגמה להטמעה של פונקציית ה-callback adView:willChangeAdSizeTo:, שמראה איך לקבל את הרוחב והגובה החדשים של המודעה:
Swift
// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
bannerView.adSizeDelegate = self
// MARK: - GADAdSizeDelegate
func adView(_ bannerView: BannerView, willChangeAdSizeTo adSize: AdSize) {
let height = adSize.size.height
let width = adSize.size.width
}
Objective-C
// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
_bannerView.adSizeDelegate = self;
#pragma mark - GADAdSizeDelegate
- (void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)adSize {
CGFloat height = adSize.size.height;
CGFloat width = adSize.size.width;
}