Pakiet SDK do reklam mobilnych Google obsługuje też niestandardowe style reklamy w wyszukiwarce. Jeśli Twoja aplikacja korzysta już z pakietu SDK do reklam mobilnych Google, zalecamy skorzystanie z Wersja pakietu SDK AdSense dla wyszukiwania .
Wymagania wstępne
- Używaj Xcode 8.0 lub nowszej wersji
- Docelowa wersja iOS 8.0 lub nowsza
- Prawidłowy kod usługi internetowej wydawcy (np. vert-ppa-test1-srp)
- CocoaPods
Importowanie natywnego pakietu SDK AdSense dla wyszukiwania
CocoaPods
Zaimportuj pakiet Google-AdSenseNative SDK do projektu iOS za pomocą: CocoaPods. Otwórz w swoim projekcie plik Podfile i dodaj ten wiersz do miejsca docelowego aplikacji:
pod 'Google-AFSNative'
Następnie uruchom polecenie w wierszu poleceń:
pod install --repo-update
Jeśli dopiero zaczynasz korzystać z CocoaPods, zapoznaj się z ich oficjalna dokumentacja tworzenia i używania plików Podfiles.
Omówienie
W przypadku aktualizacji z wersji 2.0.8 lub nowszej do wersji 4.0 lub nowszej zapoznaj się z artykułem naszym przewodniku po migracji.
Niniejszy dokument opisuje proces integracji reklam natywnych AdSense dla wyszukiwania. w aplikacji mobilnej na iOS.
- Konstruktor
GANSearchAdController
wymaga podania funkcji kodu usługi internetowej wydawcy, żądanego identyfikatora ustawień i powiązanychGANSearchAdControllerOptions
obiekt. - Każde wywołanie funkcji
loadAds()
powoduje nowe wyszukiwanie i powoduje zestaw reklam do odrzucenia i unieważnienia. - Kreacje reklamowe są przechowywane w:
GANAdView
. - Reklamy są wstawiane do reklamy
GANAdView
za pomocą metodypopulateAdView
. W oprócz polaGANAdView
, który ma zostać wypełniony, element wywołujący podaadIdentifier
, który jest dowolnym ciągiem znaków, który powinien jednoznacznie identyfikować reklamę. W interfejsie API do każdego przekazywanego identyfikatora adIdentifier przypisywana jest konkretna reklama. cal Za każdym razem, gdy ten klucz adKey zostanie ponownie przekazany w przyszłości, ta sama reklama zostanie . Jeśli na przykład funkcjapopulateAdView
zostanie wywołana po raz pierwszy z użyciem adIdentifier „keyA”, każde kolejne wywołanie funkcjipopulateAdView
podczas przekazywania „kluczA”adIdentifier
spowoduje wyświetlenie tej samej reklamy.
- Jest to element UIView zawierający tę kreację.
- Wypełnij ten widok reklamą, korzystając z metody
populateAdView
naGANSearchAdController
- Przekaż ten obiekt do konstruktora
GANSearchAdController
, aby określić sposób żądania i wyświetlania reklam.
- Wywołaj metodę
loadAds
w instancjiGANSearchAdController
za pomocą tego , by wysłać żądanie reklamy.
- Wdróż ten interfejs i udostępnij go w
GANSearchAdController
, aby: rejestrować wywołania zwrotne w kilku stanach.
Przykładowa implementacja
Poniższy przykład pokazuje, jak utworzyć GANSearchAdController
i GANView
w celu wyświetlania reklamy w przykładzie ViewController
.
// SampleAppViewController.m implementation
#import <AFSNative/AFSNative.h>
@interface GBannerViewController () {
// The Ad Controller used by the sample application.
GANSearchAdController *_adController;
// The Ad View to display the loaded ad.
GANAdView *_adView;
}
// scrollView will be where we place our ads in this example.
@property(nonatomic, strong) UIScrollView *scrollView;
@end
...
- (void)viewDidLoad {
[super viewDidLoad];
// Create the scroll view.
...
[self.view addSubview:scrollView];
// Create a test button and link the ad request to its action.
UIButton *loadBannerButton = [UIButton buttonWithType:UIButtonTypeCustom];
...
[loadBannerButton addTarget:self
action:@selector(loadAd:)
forControlEvents:UIControlEventTouchUpInside];
[self.scrollView addSubview:loadBannerButton];
// Construct the Ad Controller.
GANSearchAdControllerOptions *options = [[GANSearchAdControllerOptions alloc] init];
options.prefetchEnabled = YES;
options.adType = GANSearchAdTypeSPA;
options.adFetchCount = 3;
_adController = [[GANSearchAdController alloc]
initWithPublisherID: @"your-client-id"
styleID: @"your-settings-id"
options: options
delegate: self];
_adView = [_adController adView];
[self.scrollView addSubview:_adView];
}
// Request ads when the test button is pressed.
- (void)loadAd:(id)sender {
// Construct the Ad Request.
GANSearchAdRequest *adRequest = [[GANSearchAdRequest alloc] init];
adRequest.query = @"some-query";
// Start loading ads. Note that the loading is asynchronous.
[_adController loadAds: adRequest];
}
// Insert ads into GANAdView if the request returns successfully.
- (void)searchAdController:(GANSearchAdController *)adController
didLoadAds:(NSInteger)numberOfAds {
if (numberOfAds <= 0) {
NSLog(@"No ads found on the server");
} else {
[_adController populateAdView:_adView identifier:@"demoAd"];
}
}
...