דרישות מוקדמות
מדריך ההטמעה הזה מבוסס על ההנחה שאתם מכירים את:
- פיתוח של אפליקציות ל-iOS.
- שיוך של Google Mobile Ads SDK לפרויקט iOS. להורדה של הגרסה האחרונה של ה-SDK
סקירה כללית
במסמך הזה מפורט תהליך השילוב של מודעות AdSense לחיפוש לאפליקציות לנייד (AFSMA) באפליקציה לנייד של iOS. מודעות AFSMA נקראות לפעמים גם דינמיות מודעות חיפוש בגובה גובה. כדי לבקש ולעבד מודעות AFSMA ב-iOS, צריך להטמיע את הרכיבים הבאים:
- הכיתה הזו יורשת מהמחלקה UIView ב-iOS ומציגה את מודעות AFSMA.
נשלחה על ידי
GADSearchBannerView
בקשה להצגת מודעה עםGADDynamicHeightSearchRequest
ומעבד את המודעות שהוחזרו. צריך להוסיף אתGADSearchBannerView
לכל אחת מהתצוגות הקיימות של האפליקציה. בדרך כלל הוא נאמן המידע של ההורה שמחזיקGADSearchBannerView
נוסף אל. יש להגדיר את המשתמשים המתאימיםGADSearchBannerView
. - צריך ליצור מופע של
GADSearchBannerView
באמצעותinitWithAdSize:kGADAdSizeFluid
כדי לבקש מודעות AFSMA. יוצריםGADSearchBannerView
עםinitWithAdSize:kGADAdSizeBanner
בקשות ל-AFSMA מדור קודם מודעות. - צריך להגדיר את המאפיין
adUnitID
באובייקט הזה לקוד המאפיין שלכם.
- האובייקט הזה כולל את הפרמטרים של הבקשה להצגת מודעה. ההשוואה הזו מקבילה ל- הגדרת פרמטרים באובייקטים של בקשות להצגת מודעות ב-JavaScript (אפשרויות דף, יחידה) ) ל-AdSense לחיפוש (AFS) באינטרנט לנייד.
(void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size
- הקריאה החוזרת הזו מתבצעת כאשר הבקשה להצגת מודעה חוזרת. מאז המודעה שהוחזרה
היחידה יכולה להכיל כמה מודעות עם תוספים שונים, הגודל המדויק
של יחידת המודעות לא ידוע כאשר הבקשה להצגת מודעה נשלחת. ברגע שהמודעה
מוחזרת, צריך לעדכן את תצוגת הבאנר כך שתתאים לגודל החדש של
ביחידת המודעות. קוד לשינוי הגודל של
GADSearchBannerView
בתצוגת ההורה שלו הטמעה כאן.
הטמעה לדוגמה
הדוגמה הבאה ממחישה את השימוש ב-GBannerViewController
כדי ליצור
GADSearchBannerView
כתצוגת משנה של UIScrollView
. איך שולחים בקשה תקינה ל-AFSMA
מודעות, יש ליצור את האובייקט GADSearchBannerView
באמצעות
initWithAdSize:kGADAdSizeFluid
.
// GBannerViewController.m implementation
@interface GBannerViewController () <GADAdSizeDelegate,
GADBannerViewDelegate>
@property(nonatomic, strong) GADSearchBannerView *searchBannerView;
@property(nonatomic, strong) UIScrollView *scrollView;
@end
@implementation GBannerViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Create the scroll view.
....
....
// Create the banner.
self.searchBannerView = [[GADSearchBannerView alloc] initWithAdSize:kGADAdSizeFluid];
// Replace with your pub ID (e.g. ms-app-pub-9616389000213823).
self.searchBannerView.adUnitID = @"ms-app-pub-################";
// Set the initial location and size of the banner. The initial height
// is set to 0 since we might not get an ad back.
self.searchBannerView.frame = CGRectMake(0,
0,
CGRectGetWidth(self.view.bounds),
0);
self.searchBannerView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
// Set the delegate properties.
self.searchBannerView.adSizeDelegate = self;
self.searchBannerView.delegate = self;
// Add the new search banner into the parent scrollView.
[self.scrollView addSubview:self.searchBannerView];
}
בתוך אותו GBannerViewController
, יוצרים GADDynamicHeightSearchRequest
שקובע את הפרמטרים של המודעה שתוצג בGADSearchView
.
// Create a search request and load the banner. GADDynamicHeightSearchRequest *searchRequest = [[GADDynamicHeightSearchRequest alloc] init]; // Ad request options (set using GADDynamicHeightSearchRequest properties). searchRequest.query = @"flowers"; searchRequest.numberOfAds = 2; // Replace with the ID of a style from your custom search styles [searchRequest setAdvancedOptionValue:@"0000000001" forKey:@"styleId"];
אפשרויות נוספות להתאמה אישית
אפשר להשתמש בהן על ידי הגדרת מאפיינים נוספים בGADDynamicHeightSearchRequest
לאובייקט.
כדי לשלוח בקשה להצגת מודעה, צריך להתקשר למספר loadRequest
עם GADDynamicHeightSearchRequest
מהאובייקט GADSearchBannerView
:
[self.searchBannerView loadRequest:searchRequest];
כדי שתצוגת ההורה תתאים בצורה תקינה ל-GADSearchBannerView
ברגע
מודעות חוזרות, יש ליישם את הקריאה החוזרת הבאה.
// Callback to update the parent view height.
- (void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size {
// Update the banner view based on the ad size.
CGRect newFrame = self.searchBannerView.frame;
newFrame.size.height = size.size.height;
self.searchBannerView.frame = newFrame;
// Perform any additional logic needed due to banner view size change.
...
}
אפשרויות מתקדמות
את רוב הפרמטרים של בקשות להצגת מודעות ניתן להגדיר דרך מאפיינים
אובייקט GADDynamicHeightSearchRequest
(searchRequest
למעלה). פרמטרים אחרים
צריך להגדיר אותו באמצעות צמדי מפתח/ערך עם setAdvancedOptionValue
method:
// Advanced customization options (set using key-value pair).
// Set a parameter (parameter_name) and its value (parameter_value).
[searchRequest setAdvancedOptionValue:@"parameter_value"
forKey:@"parameter_name"];
// Example: Show visible URL below description (domainLinkAboveDescription: false).
[searchRequest setAdvancedOptionValue:@"false"
forKey:@"domainLinkAboveDescription"];
כאן מפורטת הרשימה המלאה של הפרמטרים הזמינים.
איך בודקים שגיאות
השדה GADBannerViewDelegate
מכיל קריאה חוזרת (callback) כדי לעזור לך לחקור שגיאות:
- (void)adView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(GADRequestError *)error {
// This callback is triggered when the ad request fails.
// Add code here to debug the error object to discover causes of failure
NSLog(@"Ad call failed due to %@", error.userInfo[@"NSUnderlyingError"]);
}
אם בקשה להצגת מודעה תיכשל, אפשר להשתמש בקריאה החוזרת (callback) הזו כדי לטפל בשגיאה וחוקרים את השגיאה באמצעות אובייקט השגיאה.