מודעות באנר תופסות מקום בפריסה של האפליקציה, בחלק העליון או התחתון של מסך המכשיר. הם נשארים על המסך בזמן שמשתמשים מבצעים אינטראקציה עם האפליקציה, ואפשר לרענן אותם באופן אוטומטי אחרי פרק זמן מסוים. אם זו הפעם הראשונה שפרסום לנייד הוא דרך מצוינת להתחיל. מקרה לדוגמה
במדריך הזה מוסבר איך לשלב מודעות באנר מ-AdMob באפליקציה ל-iOS. בנוסף לקטעי הקוד ולהוראות, המדריך כולל מידע על הגודל הנכון של מודעות הבאנר וקישורים למשאבים נוספים.
דרישות מוקדמות
- מבצעים את ההוראות במדריך לתחילת העבודה.
ביצוע בדיקות באופן קבוע באמצעות מודעות בדיקה
כשאתם יוצרים ובודקים את האפליקציות שלכם, הקפידו להשתמש במודעות בדיקה ולא במודעות פעילות בשלב ההפקה. אחרת, ייתכן שהחשבון יושעה.
הדרך הקלה ביותר לטעון מודעות לבדיקה היא להשתמש במזהה הייעודי של יחידת מודעות לבדיקה עבור מודעות באנר ל-iOS:
ca-app-pub-3940256099942544/2934735716
היא הוגדרה במיוחד להחזרת מודעות בדיקה לכל בקשה, ואפשר להשתמש בה באפליקציות שלכם בזמן תכנות, בדיקה וניפוי באגים. הקפידו להחליף אותו במזהה יחידת המודעות שלכם לפני פרסום האפליקציה.
רוצים לדעת איך פועלות מודעות הבדיקה ב-Mobile Ads SDK? קראו את המאמר מודעות בדיקה.
יצירת GADBannerView
מודעות באנר מוצגות באובייקטים GADBannerView
, ולכן השלב הראשון בשילוב מודעות הבאנר הוא לכלול GADBannerView
בהיררכיית התצוגות. בדרך כלל עושים זאת באמצעות בונה הממשקים או באופן פרוגרמטי.
בונה ממשקים
ניתן להוסיף GADBannerView
לסטוריבורד או לקובץ Xib כמו בכל תצוגה רגילה. כשמשתמשים בשיטה הזו, חשוב להוסיף מגבלות רוחב וגובה בהתאם לגודל המודעה שרוצים להציג. לדוגמה,
כשמציגים מודעת באנר (320x50), צריך להשתמש במגבלת רוחב של 320 נקודות ובמגבלת גובה של 50 נקודות.
באופן פרוגרמטי
אפשר גם ליצור אובייקט GADBannerView
באופן ישיר.
הנה דוגמה לאופן שבו יוצרים GADBannerView
, שמותאם למרכז החלק התחתון של האזור הבטוח במסך, עם מודעת באנר בגודל 320x50:
Swift
import GoogleMobileAds import UIKit class ViewController: UIViewController { var bannerView: GADBannerView! override func viewDidLoad() { super.viewDidLoad() // In this case, we instantiate the banner with desired ad size. bannerView = GADBannerView(adSize: GADAdSizeBanner) addBannerViewToView(bannerView) } func addBannerViewToView(_ bannerView: GADBannerView) { bannerView.translatesAutoresizingMaskIntoConstraints = false view.addSubview(bannerView) view.addConstraints( [NSLayoutConstraint(item: bannerView, attribute: .bottom, relatedBy: .equal, toItem: view.safeAreaLayoutGuide, attribute: .bottom, multiplier: 1, constant: 0), NSLayoutConstraint(item: bannerView, attribute: .centerX, relatedBy: .equal, toItem: view, attribute: .centerX, multiplier: 1, constant: 0) ]) } }
Objective-C
@import GoogleMobileAds; @interface ViewController () @property(nonatomic, strong) GADBannerView *bannerView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // In this case, we instantiate the banner with desired ad size. self.bannerView = [[GADBannerView alloc] initWithAdSize:GADAdSizeBanner]; [self addBannerViewToView:self.bannerView]; } - (void)addBannerViewToView:(UIView *)bannerView { bannerView.translatesAutoresizingMaskIntoConstraints = NO; [self.view addSubview:bannerView]; [self.view addConstraints:@[ [NSLayoutConstraint constraintWithItem:bannerView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view.safeAreaLayoutGuide attribute:NSLayoutAttributeBottom multiplier:1 constant:0], [NSLayoutConstraint constraintWithItem:bannerView attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeCenterX multiplier:1 constant:0] ]]; } @end
שימו לב שבמקרה הזה אנחנו לא מגבילים את הרוחב או הגובה, מאחר שגודל המודעה שסופק מאפשר למודעת הבאנר גודל תוכן מהותי לצורך גודל התצוגה.
אם אתם לא רוצים להשתמש בגודל סטנדרטי שמוגדר באמצעות ערך קבוע, אפשר להגדיר גודל מותאם אישית באמצעות הערך GADAdSizeFromCGSize
.
מידע נוסף זמין בקטע 'גודל מודעת באנר'.
הגדרת GADBannerView נכסים
כדי לטעון ולהציג מודעות, צריך להגדיר כמה מאפיינים ל-GADBannerView
.
rootViewController
– בקר התצוגה הזה משמש להצגת שכבת-על כשמשתמש לוחץ על המודעה. בדרך כלל צריך להגדיר אותה לבקר התצוגה המפורטת שמכיל את הערךGADBannerView
.adUnitID
- זהו המזהה של יחידת המודעות שממנוGADBannerView
צריך לטעון מודעות.
לפניכם דוגמה לקוד שמראה איך להגדיר את שני המאפיינים הנדרשים בשיטה viewDidLoad
של UIViewController:
Swift
override func viewDidLoad() { super.viewDidLoad() ... bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716" bannerView.rootViewController = self }
Objective-C
- (void)viewDidLoad { [super viewDidLoad]; ... self.bannerView.adUnitID = @"ca-app-pub-3940256099942544/2934735716"; self.bannerView.rootViewController = self; }
טעינת מודעה
אחרי שמגדירים את GADBannerView
ומגדירים את המאפיינים, זה הזמן לטעון מודעה. כדי לעשות זאת, מפעילים את loadRequest:
לאובייקט GADRequest
:
Swift
override func viewDidLoad() { super.viewDidLoad() ... bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716" bannerView.rootViewController = self bannerView.load(GADRequest()) }
Objective-C
- (void)viewDidLoad { [super viewDidLoad]; ... self.bannerView.adUnitID = @"ca-app-pub-3940256099942544/2934735716"; self.bannerView.rootViewController = self; [self.bannerView loadRequest:[GADRequest request]]; }
GADRequest אובייקטים מייצגים בקשה אחת להצגת מודעה, ומכילים מאפיינים של דברים כמו פרטי טירגוט.
אם טעינת המודעה שלכם נכשלת, אין צורך לבקש מודעה נוספת באופן מפורש, כל עוד הגדרתם את הרענון של יחידת המודעות. ה-SDK של Google Mobile Ads מציית לכל קצב רענון שהגדרתם בAdMob ממשק המשתמש. אם לא הפעלתם רענון, תצטרכו לשלוח בקשה חדשה.
אירועי מודעות
השימוש ב-GADBannerViewDelegate
מאפשר לכם לזהות אירועים במחזור החיים, כמו סגירת מודעה או יציאה של משתמש מהאפליקציה.
הרשמה לאירועי באנר
כדי להירשם לאירועים של מודעות באנר, צריך להגדיר את המאפיין delegate
ב-GADBannerView
כאובייקט שמטמיע את הפרוטוקול GADBannerViewDelegate
. באופן כללי, המחלקה שבה מוטמעת מודעות באנר משמשת גם כמחלקת הגישה. במקרה כזה, אפשר להגדיר את המאפיין delegate
ל-self
.
Swift
import GoogleMobileAds import UIKit class ViewController: UIViewController, GADBannerViewDelegate { var bannerView: GADBannerView! override func viewDidLoad() { super.viewDidLoad() ... bannerView.delegate = self } }
Objective-C
@import GoogleMobileAds; @interface ViewController () <GADBannerViewDelegate> @property(nonatomic, strong) GADBannerView *bannerView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; ... self.bannerView.delegate = self; }
הטמעה של אירועי באנר
כל אחת מהשיטות ב-GADBannerViewDelegate
מסומנת כאופציונלית, לכן צריך להטמיע רק את השיטות הרצויות. בדוגמה הזו מוטמעת כל שיטה, ומתועדת הודעה במסוף:
Swift
func bannerViewDidReceiveAd(_ bannerView: GADBannerView) { print("bannerViewDidReceiveAd") } func bannerView(_ bannerView: GADBannerView, didFailToReceiveAdWithError error: Error) { print("bannerView:didFailToReceiveAdWithError: \(error.localizedDescription)") } func bannerViewDidRecordImpression(_ bannerView: GADBannerView) { print("bannerViewDidRecordImpression") } func bannerViewWillPresentScreen(_ bannerView: GADBannerView) { print("bannerViewWillPresentScreen") } func bannerViewWillDismissScreen(_ bannerView: GADBannerView) { print("bannerViewWillDIsmissScreen") } func bannerViewDidDismissScreen(_ bannerView: GADBannerView) { print("bannerViewDidDismissScreen") }
Objective-C
- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView { NSLog(@"bannerViewDidReceiveAd"); } - (void)bannerView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(NSError *)error { NSLog(@"bannerView:didFailToReceiveAdWithError: %@", [error localizedDescription]); } - (void)bannerViewDidRecordImpression:(GADBannerView *)bannerView { NSLog(@"bannerViewDidRecordImpression"); } - (void)bannerViewWillPresentScreen:(GADBannerView *)bannerView { NSLog(@"bannerViewWillPresentScreen"); } - (void)bannerViewWillDismissScreen:(GADBannerView *)bannerView { NSLog(@"bannerViewWillDismissScreen"); } - (void)bannerViewDidDismissScreen:(GADBannerView *)bannerView { NSLog(@"bannerViewDidDismissScreen"); }
תוכלו להיעזר בדוגמה של הענקת גישה למודעות כדי לראות הטמעה של שיטות הענקת גישה לבאנר באפליקציית ההדגמה (דמו) של ממשק ה-API ל-iOS.
תרחישים לדוגמה
הנה כמה תרחישים לדוגמה לשימוש בשיטות האלה של אירועי מודעות.
הוספה של באנר להיררכיית התצוגות אחרי קבלת המודעה
כדאי להשהות את ההוספה של GADBannerView
להיררכיית התצוגה המפורטת עד אחרי שהמודעה מתקבלת. כדי לעשות זאת, מאזינים לאירוע
bannerViewDidReceiveAd:
של האירוע:
Swift
func bannerViewDidReceiveAd(_ bannerView: GADBannerView) { // Add banner to view and add constraints as above. addBannerViewToView(bannerView) }
Objective-C
- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView { // Add bannerView to view and add constraints as above. [self addBannerViewToView:self.bannerView]; }
הוספת אנימציה למודעת באנר
אפשר להשתמש באירוע bannerViewDidReceiveAd:
גם כדי להוסיף אנימציה למודעת באנר
לאחר שהיא מוחזרת, כפי שמוצג בדוגמה הבאה:
Swift
func bannerViewDidReceiveAd(_ bannerView: GADBannerView) { bannerView.alpha = 0 UIView.animate(withDuration: 1, animations: { bannerView.alpha = 1 }) }
Objective-C
- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView { bannerView.alpha = 0; [UIView animateWithDuration:1.0 animations:^{ bannerView.alpha = 1; }]; }
השהיה והפעלה מחדש של האפליקציה
לפרוטוקול GADBannerViewDelegate
יש שיטות להודיע לכם על אירועים, למשל כשקליק גורם להצגה או לסגירה של שכבת-על.
כדי לבדוק אם האירועים האלה נבעו ממודעות, תוכלו להירשם לשיטות האלה של GADBannerViewDelegate
.
כדי לצפות בכל הסוגים של מצגות עם שכבת-על או הפעלות חיצוניות בדפדפן, ולא רק את ההפעלות שנובעות מקליקים על מודעות, עדיף לאפליקציה שלך להקשיב לשיטות המקבילות ב-UIViewController
או ב-UIApplication
. לפניכם טבלה שמציגה את השיטות המקבילות ל-iOS שמופעלות באותו זמן במקביל ל-GADBannerViewDelegate
method:
שיטת GADBannerViewExplorer | שיטת iOS |
---|---|
bannerViewWillPresentScreen: |
viewWillDisappear: של UIViewController |
bannerViewWillDismissScreen: |
viewWillAppear: של UIViewController |
bannerViewDidDismissScreen: |
viewDidAppear: של UIViewController |
גדלים של מודעות באנר
בטבלה הבאה מפורטים הגדלים הרגילים של מודעות באנר.
גודל בנקודות (WxH) | התיאור | זמינות | קבוע AdSize |
---|---|---|---|
320x50 | כרזה | טלפונים וטאבלטים | GADAdSizeBanner |
320x100 | מודעת באנר גדולה | טלפונים וטאבלטים | GADAdSizeLargeBanner |
300x250 | מלבן בינוני של IAB | טלפונים וטאבלטים | GADAdSizeMediumRectangle |
468x60 | מודעת באנר של IAB בגודל מלא | טאבלטים | GADAdSizeFullBanner |
728x90 | לידרבורד של IAB | טאבלטים | GADAdSizeLeaderboard |
רוחב שסופק x גובה מותאם | מודעת באנר מותאמת | טלפונים וטאבלטים | לא רלוונטי |
גדלים מותאמים אישית של מודעות
כדי להגדיר גודל מותאם אישית של מודעת באנר, קבע את הגודל הרצוי באמצעות GADAdSizeFromCGSize
, כפי שמוצג כאן:
Swift
let adSize = GADAdSizeFromCGSize(CGSize(width: 300, height: 50))
Objective-C
GADAdSize size = GADAdSizeFromCGSize(CGSizeMake(300, 50));
משאבים נוספים
דוגמאות ב-GitHub
דוגמה למודעות באנר: Swift | Objective-C
דוגמה ל-Banner UITableView ב-GitHub: Swift | Objective-C
מדריכי וידאו בסדנה של מודעות לנייד
סיפורי הצלחה
השלבים הבאים
למידע נוסף על פרטיות המשתמשים