דרישות מוקדמות
במדריך ההטמעה הזה ההנחה היא שאתם מכירים את הנושאים הבאים:
- פיתוח אפליקציות ל-iOS.
- שיוך Google Mobile Ads SDK לפרויקט ב-iOS. להורדת הגרסה העדכנית של ה-SDK.
סקירה כללית
במסמך זה מתואר התהליך של שילוב מודעות AdSense לחיפוש (AFS) לאפליקציות לנייד (AFSMA) באפליקציה ל-iOS. מודעות AFSMA נקראות לפעמים מודעות דינמיות לרשת החיפוש. כדי לבקש ולעבד מודעות AFSMA ב-iOS, עליכם ליישם את הדברים הבאים:
- הכיתה הזו יורשת מהכיתה ממשק משתמש של iOSView ומציגה את מודעות AFSMA.
GADSearchBannerView
שולח את הבקשה למודעה עםGADDynamicHeightSearchRequest
, ומעבד את המודעות המוחזרות. יש להוסיף את ה-GADSearchBannerView
לכל אחת מהתצוגות הקיימות של האפליקציה. לרוב, זהו בקר התצוגה המפורטת שמכיל את התצוגה המפורטת שאליהGADSearchBannerView
נוסף. הנציגים המתאימים צריכים להיות מוגדרים ב-GADSearchBannerView
. - יש ליצור
GADSearchBannerView
עםinitWithAdSize:kGADAdSizeFluid
כדי לבקש מודעות AFSMA. יצירתGADSearchBannerView
עםinitWithAdSize:kGADAdSizeBanner
מבקשת מודעות AFSMA מדור קודם. - יש להגדיר את המאפיין
adUnitID
באובייקט הזה בקוד הנכס שלך.
- אובייקט זה כולל את הפרמטרים של הבקשות למודעות. הדבר דומה להגדרת פרמטרים באובייקטים של בקשות למודעות JavaScript (אפשרויות דף, אפשרויות יחידה) ל-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) הבאה.
// 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
:
// 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
מכיל התקשרות חזרה כדי לעזור לך לחקור שגיאות:
- (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"]);
}
אם בקשת מודעה נכשלה, תוכלו להשתמש בקריאה החוזרת הזו כדי לטפל בשגיאה כראוי ולחקור את השגיאה באמצעות אובייקט השגיאה.