Điều kiện tiên quyết
Hướng dẫn triển khai này giả định bạn đã quen thuộc với những điều sau:
- Phát triển ứng dụng iOS.
- Liên kết SDK Quảng cáo của Google trên thiết bị di động với một dự án iOS. Tải phiên bản SDK mới nhất xuống.
Tổng quan
Tài liệu này trình bày quy trình tích hợp quảng cáo AFS dành cho ứng dụng di động (AFSMA) trong ứng dụng di động iOS của bạn. Quảng cáo AFSMA đôi khi cũng được gọi là động quảng cáo tìm kiếm theo chiều cao. Để yêu cầu và hiển thị quảng cáo AFSMA trên iOS, bạn cần phải triển khai như sau:
- Lớp này kế thừa từ lớp UIView của iOS và hiển thị các quảng cáo AFSMA. Chiến lược phát hành đĩa đơn
GADSearchBannerView
đưa ra yêu cầu về một quảng cáo cóGADDynamicHeightSearchRequest
rồi hiển thị quảng cáo được trả về. Chiến lược phát hành đĩa đơn Bạn phải thêmGADSearchBannerView
vào bất kỳ khung hiển thị hiện tại nào của ứng dụng; Thông thường, đó là bộ điều khiển khung hiển thị gốc chứa khung hiển thị màGADSearchBannerView
đã được thêm vào. Bạn phải thiết lập chế độ uỷ quyền thích hợpGADSearchBannerView
. - Phải tạo thực thể
GADSearchBannerView
bằnginitWithAdSize:kGADAdSizeFluid
để yêu cầu quảng cáo AFSMA. Tạo thực thểGADSearchBannerView
cóinitWithAdSize:kGADAdSizeBanner
yêu cầu AFSMA cũ quảng cáo. - Bạn cần đặt thuộc tính
adUnitID
trên đối tượng này thành mã thuộc tính.
- Đối tượng này đóng gói các thông số yêu cầu quảng cáo. Điều này tương tự với cài đặt thông số trong đối tượng yêu cầu quảng cáo JavaScript (tùy chọn trang, đơn vị ) cho web dành cho thiết bị di động và máy tính để bàn của AFS.
(void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size
- Lệnh gọi lại này được gọi khi yêu cầu quảng cáo trả về. Vì quảng cáo được trả về
đơn vị có thể chứa một số quảng cáo có phần mở rộng khác nhau, kích thước chính xác
của đơn vị quảng cáo không biết khi nào yêu cầu quảng cáo được thực hiện. Khi quảng cáo
trả về, chế độ xem biểu ngữ cần được cập nhật để phù hợp với kích thước mới của
đơn vị quảng cáo. Mã để đổi kích thước
GADSearchBannerView
trong khung hiển thị mẹ phải được triển khai tại đây.
Cách triển khai mẫu
Ví dụ bên dưới minh hoạ cách sử dụng GBannerViewController
để tạo một
GADSearchBannerView
làm khung hiển thị phụ của UIScrollView
. Để yêu cầu AFSMA đúng cách
quảng cáo, thì bạn phải tạo thực thể cho đối tượng GADSearchBannerView
bằng
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];
}
Trong cùng một GBannerViewController
, hãy tạo một GADDynamicHeightSearchRequest
chỉ định các thông số của quảng cáo sẽ được hiển thị trong 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"];
Các lựa chọn tuỳ chỉnh khác
có thể thực hiện bằng cách đặt các thuộc tính bổ sung trên GADDynamicHeightSearchRequest
.
Để tạo yêu cầu quảng cáo, hãy gọi loadRequest
bằng GADDynamicHeightSearchRequest
đối tượng từ đối tượng GADSearchBannerView
:
[self.searchBannerView loadRequest:searchRequest];
Để khung hiển thị mẹ điều chỉnh cho phù hợp với GADSearchBannerView
khi
quảng cáo trả về, thì bạn phải triển khai lệnh gọi lại sau.
// 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.
...
}
Tùy chọn nâng cao
Hầu hết thông số yêu cầu quảng cáo đều có thể được đặt thông qua các thuộc tính trên
Đối tượng GADDynamicHeightSearchRequest
(searchRequest
ở trên). Các thông số khác
cần được thiết lập bằng cách sử dụng cặp khoá-giá trị với setAdvancedOptionValue
phương thức:
// 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"];
Xem danh sách đầy đủ các tham số hiện có.
Điều tra lỗi
GADBannerViewDelegate
chứa lệnh gọi lại để giúp bạn điều tra lỗi:
- (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"]);
}
Nếu yêu cầu quảng cáo không thành công, bạn có thể sử dụng lệnh gọi lại này để xử lý lỗi đúng cách và điều tra lỗi thông qua đối tượng lỗi.