הגדרות סגנון מותאם
שמאפשרות ל-Google Ad Manager לטפל ברינדור של המודעות המותאמות
שאתם מציינים בתוך המוצר. קודם כול, מציינים את הגודל ואת הטירגוט.
לאחר מכן צריך להוסיף HTML, CSS ו-JavaScript כדי להגדיר מודעות רספונסיביות
כדי ליצור תצוגה איכותית בכל המסכים. לא צריך לעשות
כל אחד מהרינדור; מערכת Ad Manager מחילה באופן אוטומטי את הסגנון המותאם אישית המתאים
ליעד. סגנונות מותאמים מוטמעים בדיוק כמו מודעות באנר,
באמצעות GAMBannerView
. אפשר להשתמש בהם במודעה קבועה
גודל שנקבע מראש, או גודל מודעה גמיש שנקבע בזמן הריצה.
דרישות מוקדמות
- Google Mobile Ads SDK מגרסה 7.14.0 ואילך
מדריך זה מבוסס על ההנחה שיש לכם ידע מעשי ב-Google Mobile Ads SDK. אם עדיין לא עשית זאת, מומלץ לעיין המדריך לתחילת העבודה.
גודל קבוע
סגנונות מותאמים עם גודל קבוע מאפשרים לך לשלוט ברוחב ובגובה של המודעה המותאמת. כדי להגדיר גודל קבוע, פועלים לפי השלבים הבאים:
יוצרים פריט בממשק המשתמש של Ad Manager ובוחרים אחת גדלים מוגדרים מראש מתפריט השדות
Size
.ב-API Builder, מגדירים את הרוחב והגובה של
GAMBannerView
בהתאם לגודל המוגדר מראש שבחרתם בשלב 1. אפשר לראות רשימת גדלים וקבועיGADAdSize
המתאימים שלהם בבאנר מידה .
כדי להטמיע סגנונות מותאמים בגודל קבוע צריך לבצע את הפעולות הבאות בקלות: ההוראות שמופיעות במאמר הבאנר הראשון request, אבל גם תהיה לכם גמישות ושליטה ב-HTML, ב-CSS וב-JavaScript כדי להעניק למודעת הבאנר מראה ותחושה טבעיים שמתאימים לאפליקציה שלך.
גודל נוזל
במקרים מסוימים, גודל קבוע לא הגיוני. לדוגמה, אפשר:
רוצה שרוחב המודעה יתאים לתוכן של האפליקציה, אבל צריך את הגובה שלה
כך שיתאימו באופן דינמי לתוכן של המודעה. כדי לטפל במקרה הזה,
אפשר לציין את Fluid
כגודל המודעה בממשק המשתמש של Ad Manager,
מציין שגודל המודעה נקבע בזמן הריצה באפליקציה.
ה-SDK מספק קבוע GADAdSize
מיוחד,
kGADAdSizeFluid
,
כדי לטפל במקרה הזה. הגובה של גודל המודעה הגמישה נקבע באופן דינמי
בהתאם לרוחב שהוגדר על ידי בעל התוכן הדיגיטלי, כך
GAMBannerView
כדי להתאים את הגובה שלו לגובה של הקריאייטיב.
בקשת נוזלים
בשונה מפורמטים אחרים של מודעות, גודל המודעה בגודל kGADAdSizeFluid
אינו כולל
רוחב מוגדר מראש, לכן חשוב להגדיר באופן מפורש את מסגרת הבאנר.
ברוחב הקוד שלכם או ב'כלי לבניית ממשקים'. אם לא צוין רוחב,
כברירת מחדל, ה-SDK מגדיר את גובה הבאנר על סמך
רוחב המכשיר.
אם שולחים בקשה במספר גדלים שכוללת את kGADAdSizeFluid
,
שהמודעה שהוחזרה מוצבת תמיד בתוך מיכל נוזל
להתנהג כמו מודעה גמישה. במקרה שקריאייטיב לא גמיש
שמוחזר במכל הנוזל הזה, ה-SDK מרכז את המודעה
בקונטיינר כדי שלא תצטרכו לשנות את מגבלת הרוחב.
בכל פעם שתוצג מודעה חדשה.
יישום של יצירת גודל יחיד ונוזל מרובה גדלים
הבקשה דומה מאוד; ההבדל היחיד הוא במספר גדלים
בקשה, צריך להגדיר את המאפיין validAdSizes
כדי לציין את המודעה
גדלים תקפים לבקשה להצגת מודעה:
Swift
bannerView.validAdSizes = [NSValueFromGADAdSize(kGADAdSizeFluid),
NSValueFromGADAdSize(kGADAdSizeBanner)]
Objective-C
_bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
NSValueFromGADAdSize(kGADAdSizeBanner) ];
כך נראית הטמעה מלאה בקוד:
Swift
var bannerView: GAMBannerView!
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 = GAMBannerView(adSize: kGADAdSizeFluid)
var frameRect = bannerView.frame
frameRect.size.width = view.bounds.width
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.load(GAMRequest())
}
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
כדאי לדעת מה הגובה של מודעת הבאנר לפני שגודל המודעה משתנה.
הקריאה החוזרת של adView:willChangeAdSizeTo:
שולחת הודעה למי שהעניק אותה לפני כן
תצוגת הבאנר תשתנה לGADAdSize
החדש. כדי לקבל הודעה לפני
תצוגת הבאנר תשתנה לגודל המודעה החדשה, הכיתה חייבת לעמוד בדרישות של
בפרוטוקול GADAdSizeDelegate
.
דוגמה להטמעה של adView:willChangeAdSizeTo:
קריאה חוזרת (callback) שמראה איך לקבל את הרוחב והגובה החדשים של הבאנר:
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: GADBannerView, willChangeAdSizeTo adSize: GADAdSize) {
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;
}