Prasyarat
Panduan penerapan ini mengasumsikan bahwa Anda telah memahami hal-hal berikut:
- Pengembangan aplikasi iOS.
- Mengaitkan Google Mobile Ads SDK dengan project iOS. Download SDK versi terbaru.
Ringkasan
Dokumen ini berisi penjelasan mengenai proses mengintegrasikan iklan AFS untuk Aplikasi Seluler (AFSMA) di aplikasi seluler iOS Anda. Iklan AFSMA juga terkadang disebut sebagai iklan penelusuran ketinggian dinamis. Untuk meminta dan merender iklan AFSMA di iOS, Anda harus menerapkan hal berikut:
- Class ini mewarisi dari class UIView iOS dan menampilkan iklan AFSMA.
GADSearchBannerView
membuat permintaan untuk iklan denganGADDynamicHeightSearchRequest
dan merender iklan yang ditampilkan.GADSearchBannerView
harus ditambahkan ke salah satu tampilan yang ada di aplikasi; biasanya pengontrol tampilan induk yang menyimpan tampilan tempatGADSearchBannerView
ditambahkan. Delegasi yang sesuai harus ditetapkan diGADSearchBannerView
. GADSearchBannerView
harus dibuat instance-nya denganinitWithAdSize:kGADAdSizeFluid
untuk meminta iklan AFSMA. Membuat instanceGADSearchBannerView
denganinitWithAdSize:kGADAdSizeBanner
akan meminta iklan AFSMA lama.- Properti
adUnitID
di objek ini perlu ditetapkan ke kode properti Anda.
- Objek ini merangkum parameter permintaan iklan. Hal ini serupa dengan penetapan parameter di objek permintaan iklan JavaScript (opsi halaman, opsi unit) untuk web seluler dan desktop AFS.
(void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size
- Callback ini dipanggil saat permintaan iklan ditampilkan. Karena unit iklan
yang ditampilkan dapat berisi sejumlah iklan dengan ekstensi yang berbeda, ukuran persis
unit iklan tidak diketahui kapan permintaan iklan dibuat. Setelah iklan ditampilkan, tampilan banner harus diperbarui untuk mengakomodasi ukuran baru unit iklan. Kode untuk mengubah ukuran
GADSearchBannerView
pada tampilan induknya harus diterapkan di sini.
Contoh implementasi
Contoh di bawah menunjukkan penggunaan GBannerViewController
untuk membuat
GADSearchBannerView
sebagai sub-tampilan dari UIScrollView
. Untuk meminta iklan AFSMA
dengan benar, objek GADSearchBannerView
harus dibuat instance-nya dengan
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];
}
Dalam GBannerViewController
yang sama, buat GADDynamicHeightSearchRequest
yang menentukan parameter iklan yang akan dirender di 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"];
Opsi penyesuaian lainnya
dapat dilakukan dengan menetapkan properti tambahan pada objek
GADDynamicHeightSearchRequest
.
Untuk membuat permintaan iklan, panggil loadRequest
dengan objek GADDynamicHeightSearchRequest
dari objek GADSearchBannerView
:
[self.searchBannerView loadRequest:searchRequest];
Agar tampilan induk mengakomodasi GADSearchBannerView
dengan benar setelah
iklan ditampilkan, callback berikut harus diterapkan.
// 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.
...
}
Opsi lanjutan
Sebagian besar parameter permintaan iklan dapat ditetapkan melalui properti pada objek GADDynamicHeightSearchRequest
(searchRequest
di atas). Parameter lain harus ditetapkan menggunakan key-value pair dengan metode 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"];
Lihat daftar lengkap parameter yang tersedia.
Menyelidiki error
GADBannerViewDelegate
berisi callback untuk membantu Anda menyelidiki error:
- (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"]);
}
Jika permintaan iklan gagal, Anda dapat menggunakan callback ini untuk menangani error dengan tepat dan menyelidiki error tersebut melalui objek error.