Wymagania wstępne
W tym przewodniku po implementacji przyjęto założenie, że znasz już te zagadnienia:
- Tworzenie aplikacji na iOS.
- Tworzenie powiązania pakietu SDK do reklam mobilnych Google z projektem na iOS. Pobierz najnowszą wersję pakietu SDK.
Opis
Ten dokument opisuje proces integracji reklam AdSense dla wyszukiwania do aplikacji mobilnych z aplikacjami na iOS. Aby wysyłać żądania reklam AFSMA na iOS i je renderować, musisz zastosować:
- Ta klasa dziedziczy z klasy UIView w iOS i wyświetla reklamy AFSMA.
GADSearchBannerView
wysyła żądanie reklamy z zastosowaniemGADDynamicHeightSearchRequest
i renderuje zwrócone reklamy. ElementGADSearchBannerView
należy dodać do dowolnego z dotychczasowych widoków aplikacji. Zwykle to kontroler widoku nadrzędnego znajduje się w widoku, do którego dodany jest widokGADSearchBannerView
. Właściwych przedstawicieli należy ustawić na stronieGADSearchBannerView
. - Aby można było wysyłać żądania reklam AFSMA,
GADSearchBannerView
musi być utworzony z elementeminitWithAdSize:kGADAdSizeFluid
. Tworzę instancjęGADSearchBannerView
z parametreminitWithAdSize:kGADAdSizeBanner
, żądając starszych reklam AFSMA. - Właściwość
adUnitID
tego obiektu musi być ustawiona na kod usługi.
- Ten obiekt zawiera parametry żądania reklamy. Przypomina to ustawianie parametrów w obiektach żądań reklam JavaScript (opcje stron i opcje jednostek) w przypadku AdSense dla wyszukiwania na komputery i w internecie mobilnym.
(void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size
- To wywołanie zwrotne jest wywoływane po zwróceniu żądania reklamy. Zwrócona jednostka reklamowa może zawierać pewną liczbę reklam z różnymi rozszerzeniami, więc dokładny rozmiar takiej jednostki po wysłaniu żądania reklamy jest nieznany. Po zwróceniu reklamy należy dostosować widok banera do nowego rozmiaru jednostki reklamowej. Tutaj należy zaimplementować kod powodujący zmianę rozmiaru elementu
GADSearchBannerView
w widoku nadrzędnym.
Przykładowa implementacja
Przykład poniżej pokazuje, jak użyć GBannerViewController
do utworzenia widoku GADSearchBannerView
jako widoku podrzędnego UIScrollView
. Aby można było prawidłowo wysyłać żądania reklam AdSense dla treści, obiekt GADSearchBannerView
musi mieć instancję 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];
}
W tym samym obiekcie GBannerViewController
utwórz GADDynamicHeightSearchRequest
, który określa parametry reklamy, która będzie renderowana w 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"];
Inne opcje dostosowywania są dostępne po ustawieniu dodatkowych właściwości w obiekcie GADDynamicHeightSearchRequest
.
Aby wysłać żądanie reklamy, wywołaj loadRequest
za pomocą obiektu GADDynamicHeightSearchRequest
z obiektu GADSearchBannerView
:
[self.searchBannerView loadRequest:searchRequest];
Aby po zwróceniu reklam widok nadrzędny poprawnie obsługiwał funkcję GADSearchBannerView
, należy zaimplementować poniższe wywołanie zwrotne.
// 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.
...
}
Opcje zaawansowane
Większość parametrów żądania reklamy można ustawić za pomocą właściwości w obiekcie GADDynamicHeightSearchRequest
(searchRequest
powyżej). Inne parametry należy ustawiać za pomocą par klucz-wartość przy użyciu metody 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"];
Zobacz pełną listę dostępnych parametrów.
Analizowanie błędów
GADBannerViewDelegate
zawiera wywołanie zwrotne, które pomaga w przeanalizowaniu błędów:
- (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"]);
}
Jeśli żądanie reklamy nie powiedzie się, możesz użyć tego wywołania zwrotnego, aby prawidłowo obsłużyć błąd i zbadać go za pomocą obiektu błędu.