Google Mobile Ads SDK'sı özel arama stillerini de destekler. Uygulamanızda Google Mobile Ads SDK'sı kullanılıyorsa bunun yerine AFSMA SDK sürümünü kullanmanızı öneririz.
Ön koşullar
- Xcode 8.0 veya sonraki bir sürümü kullanın
- iOS 8.0 veya sonraki sürümleri hedefleyin
- Geçerli bir yayıncı web mülkü kodu (ör. vert-ppa-test1-srp)
- CocoaPods
AFS Yerel SDK'sını içe aktarın
CocoaPods
CocoaPods'u kullanarak Google-AFSNative SDK'sını bir iOS projesine aktarın. Projenizin Podfile dosyasını açın ve şu satırı uygulamanızın hedefine ekleyin:
pod 'Google-AFSNative'
Ardından komut satırından şunu çalıştırın:
pod install --repo-update
CocoaPods'u kullanmaya yeni başladıysanız Pod dosyaları oluşturma ve kullanma hakkında bilgi edinmek için resmi belgelerine göz atın.
Genel bakış
2.0.8 veya daha eski bir sürümden 4.0 ya da sonraki bir sürüme geçiyorsanız lütfen taşıma rehberimize bakın.
Bu belgede, AFS Yerel reklamlarını iOS mobil uygulamanıza entegre etme süreci açıklanmaktadır.
GANSearchAdController
oluşturucuya, yayıncının web mülkü kodu, istenen ayar kimliği ve ilişkiliGANSearchAdControllerOptions
nesnesi sağlanmalıdır.- Her
loadAds()
çağrısı, yeni bir arama yapıldığını belirtir ve mevcut reklam grubunun silinmesine ve geçersiz kılınmasına neden olur. - Reklam öğeleri
GANAdView
'da depolanır. - Reklamlar,
GANAdView
reklamınapopulateAdView
yöntemiyle eklenir. Arayan, doldurulacakGANAdView
öğesine ek olarak, reklamı benzersiz bir şekilde tanımlaması gereken rastgele bir dize olanadIdentifier
de sağlar. API'de, aktarılan her adIdentifier'a belirli bir reklam atanır. Daha sonra, adKey gelecekte tekrar iletildiğinde aynı reklam döndürülür. Örneğin,populateAdView
adIdentifier "keyA" ile ilk kez çağrılırsaadIdentifier
olarak "keyA" iletildiği sıradapopulateAdView
öğesine yapılan her bir sonraki çağrı aynı reklamın gösterilmesiyle sonuçlanır.
- Bu, reklam öğesini içeren UIView'dur.
- Bu görünümü,
GANSearchAdController
üzerindekipopulateAdView
yöntemini kullanarak bir reklamla doldurun.
- Reklamların istenme ve görüntülenme davranışını belirtmek için bu nesneyi
GANSearchAdController
oluşturucuya iletin.
- Reklam isteği yapmak için
GANSearchAdController
örneğinde bu nesneyleloadAds
yöntemini çağırın.
- Bu arayüzü uygulayın ve çeşitli durumlarda geri çağırmaları kaydetmek için
GANSearchAdController
API'sine sağlayın.
Örnek uygulama
Aşağıdaki örnekte, örnek ViewController
içinde reklam göstermek için bir GANSearchAdController
ve bir GANView
oluşturulması gösterilmektedir.
// 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"];
}
}
...