Wymagania wstępne
W tym przewodniku po implementacji zakładamy, że znasz te zagadnienia:
- Tworzenie aplikacji na iOS.
- Tworzę powiązanie pakietu SDK do reklam mobilnych Google z projektem iOS. Pobierz najnowszą wersję pakietu SDK.
Omówienie
Niniejszy dokument opisuje proces integracji reklam AdSense dla wyszukiwania do aplikacji mobilnych. w aplikacji mobilnej na iOS. Reklamy AdSense dla Zakupów Google są też czasami nazywane reklamami dynamicznymi. wysokość reklam w wyszukiwarce. Aby wysyłać żądania reklam AdSense dla wyszukiwania i renderować je na urządzeniach z iOS: zastosuj:
- Ta klasa dziedziczy dane z klasy UIView w systemie iOS i wyświetla reklamy AdSense dla wyszukiwaniaMA.
GADSearchBannerView
wysyła żądanie reklamy z tagiemGADDynamicHeightSearchRequest
i wyrenderuje zwrócone reklamy. IdentyfikatorGADSearchBannerView
należy dodać do dowolnego z istniejących widoków aplikacji. zazwyczaj to kontroler widoku nadrzędnego KontaktGADSearchBannerView
został dodany do. Odpowiednich przedstawicieli należy ustawić na stronieGADSearchBannerView
. - Instancja
GADSearchBannerView
musi być utworzona za pomocąinitWithAdSize:kGADAdSizeFluid
, aby wysyłać żądania reklam AdSense dla wyszukiwania. Tworzę instancjęGADSearchBannerView
zinitWithAdSize:kGADAdSizeBanner
próśbami o starszą wersję AdSense dla wyszukiwania reklam. - Właściwość
adUnitID
tego obiektu musi być ustawiona na kod usługi.
- Ten obiekt zawiera parametry żądania reklamy. Jest to analogiczne do parametrów w obiektach żądań reklamy JavaScript (opcje strony, jednostka ).
(void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size
- To wywołanie zwrotne jest wywoływane po zwróceniu żądania reklamy. Ponieważ zwrócona reklama
może zawierać wiele reklam z różnymi rozszerzeniami, dokładny rozmiar
jednostki reklamowej jest nieznana w momencie wysłania żądania reklamy. Gdy reklama zostanie
widok banera musi zostać zaktualizowany, by uwzględnić nowy rozmiar
do danej jednostki reklamowej. Kod służący do zmiany rozmiaru elementu
GADSearchBannerView
w widoku nadrzędnym powinien który zostanie wdrożony tutaj.
Przykładowa implementacja
Poniższy przykład pokazuje, jak za pomocą GBannerViewController
można utworzyć
GADSearchBannerView
jako widok podrzędny UIScrollView
. Aby prawidłowo przesłać prośbę o AdSense dla wyszukiwania,
ads, obiekt GADSearchBannerView
musi być utworzony za pomocą
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 ramach tego samego elementu GBannerViewController
utwórz GADDynamicHeightSearchRequest
określające parametry reklamy, które będą renderowane w elemencie 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ą możliwe po ustawieniu dodatkowych właściwości na GADDynamicHeightSearchRequest
obiektu.
Aby wysłać żądanie reklamy, wywołaj loadRequest
za pomocą GADDynamicHeightSearchRequest
z obiektu GADSearchBannerView
:
[self.searchBannerView loadRequest:searchRequest];
Aby widok nadrzędny prawidłowo zmieścił się w elemencie GADSearchBannerView
,
reklam zwracanych przez reklamy, 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
GADDynamicHeightSearchRequest
obiekt (searchRequest
powyżej). Inne parametry
należy ustawić za pomocą par klucz-wartość z funkcją 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
Badanie błędów
GADBannerViewDelegate
zawiera wywołanie zwrotne, które ułatwia badanie 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, by prawidłowo obsługiwać błąd. i przeanalizuj błąd, używając obiektu błędu.