ข้อกำหนดเบื้องต้น
คู่มือการติดตั้งใช้งานนี้ถือว่าคุณมีความคุ้นเคยกับสิ่งต่อไปนี้
- การพัฒนาแอป iOS
- การเชื่อมโยง SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google กับโปรเจ็กต์ iOS ดาวน์โหลด SDK เวอร์ชันล่าสุด
ภาพรวม
เอกสารนี้ระบุขั้นตอนในการผสานรวมโฆษณา AFS สำหรับแอปบนอุปกรณ์เคลื่อนที่ (AFSMA) ในแอปบนอุปกรณ์เคลื่อนที่ iOS บางครั้งโฆษณา AFSMA เรียกว่าแบบไดนามิก ความสูงมากขึ้น หากต้องการขอและแสดงโฆษณา AFSMA บน iOS คุณจะต้องทำดังนี้ ดำเนินการต่อไปนี้
- คลาสนี้รับค่ามาจากคลาส UIView ของ iOS และแสดงโฆษณา AFSMA
GADSearchBannerView
ส่งคำขอสำหรับโฆษณาที่มีGADDynamicHeightSearchRequest
และแสดงโฆษณาที่แสดงผล ควรเพิ่มGADSearchBannerView
ลงในมุมมองที่มีอยู่ของแอป โดยทั่วไปแล้วจะเป็นตัวควบคุมมุมมองหลักซึ่งจะเก็บมุมมองที่ เพิ่มGADSearchBannerView
ลงใน ควรกำหนดผู้รับมอบสิทธิ์ที่เหมาะสมไว้ที่GADSearchBannerView
- ต้องสร้างอินสแตนซ์
GADSearchBannerView
ด้วยinitWithAdSize:kGADAdSizeFluid
เพื่อขอโฆษณา AFSMA กำลังสร้างอินสแตนซ์GADSearchBannerView
ที่มีคำขอ AFSMA เดิมinitWithAdSize:kGADAdSizeBanner
รายการ - ต้องตั้งค่าพร็อพเพอร์ตี้
adUnitID
ในออบเจ็กต์นี้เป็นรหัสพร็อพเพอร์ตี้
- ออบเจ็กต์นี้สรุปพารามิเตอร์คำขอโฆษณา ซึ่งเปรียบได้กับ พารามิเตอร์การตั้งค่าในออบเจ็กต์คำขอโฆษณา JavaScript (ตัวเลือกหน้าเว็บ, หน่วย ตัวเลือก) สำหรับเดสก์ท็อปและเว็บบนอุปกรณ์เคลื่อนที่ของ AFS
(void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size
- ระบบจะเรียก Callback นี้เมื่อคำขอโฆษณากลับมา เนื่องจากโฆษณาที่ส่งกลับ
หน่วยโฆษณาอาจมีโฆษณาจำนวนหนึ่งที่มีส่วนขยายต่างกัน ขนาดที่แน่นอน
ของหน่วยโฆษณาจะไม่ทราบเมื่อมีการสร้างคำขอโฆษณา เมื่อโฆษณาเริ่ม
จำเป็นต้องอัปเดตมุมมองแบนเนอร์เพื่อรองรับขนาดใหม่
หน่วยโฆษณา โค้ดสำหรับปรับขนาด
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
มี 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 นี้เพื่อจัดการข้อผิดพลาดได้อย่างเหมาะสม และตรวจสอบข้อผิดพลาดผ่านออบเจ็กต์ข้อผิดพลาด