Google Mobile Ads SDK همچنین از سبک های جستجوی سفارشی پشتیبانی می کند. اگر برنامه شما قبلاً از Google Mobile Ads SDK استفاده میکند، توصیه میکنیم به جای آن از نسخه AFSMA SDK استفاده کنید.
پیش نیازها
- از Xcode 8.0 یا بالاتر استفاده کنید
- iOS 8.0 یا بالاتر را هدف قرار دهید
- کد دارایی وب ناشر معتبر (به عنوان مثال vert-ppa-test1-srp)
- CocoaPods
AFS Native SDK را وارد کنید
CocoaPods
Google-AFSNative SDK را با استفاده از CocoaPods به پروژه iOS وارد کنید. Podfile پروژه خود را باز کنید و این خط را به هدف برنامه خود اضافه کنید:
pod 'Google-AFSNative'
سپس از خط فرمان اجرا کنید:
pod install --repo-update
اگر با CocoaPods تازه کار هستید، برای اطلاعات در مورد نحوه ایجاد و استفاده از Podfiles به اسناد رسمی آنها مراجعه کنید.
نمای کلی
اگر از نسخه 2.0.8 یا قبل از آن به نسخه 4.0 یا بالاتر ارتقا می دهید، لطفاً راهنمای مهاجرت ما را ببینید.
این سند روند ادغام تبلیغات AFS Native را در برنامه موبایل iOS شما شرح می دهد.
- سازنده
GANSearchAdController
باید کد ویژگی وب ناشر، شناسه تنظیمات دلخواه و شیGANSearchAdControllerOptions
مرتبط را ارائه کند. - هر فراخوانی به
loadAds()
یک جستجوی جدید را نشان میدهد و باعث میشود مجموعه فعلی تبلیغات کنار گذاشته شود و نامعتبر شود. - خلاقیت های تبلیغاتی در
GANAdView
ذخیره می شوند. - تبلیغات با روش
populateAdView
در آگهیGANAdView
درج می شود. علاوه برGANAdView
که قرار است پر شود، تماسگیرنده یکadIdentifier
ارائه میکند که یک رشته دلخواه است که باید آگهی را بهطور منحصربهفرد شناسایی کند. در داخل API، یک تبلیغ خاص به هر adidentifier ارسال شده اختصاص داده میشود. سپس، هر زمان که adKey دوباره در آینده ارسال شود، همان آگهی بازگردانده میشود. به عنوان مثال، اگرpopulateAdView
برای اولین بار با adIdentifier "keyA" فراخوانی شود، هر تماس بعدی باpopulateAdView
در حالی که "keyA" را به عنوانadIdentifier
ارسال می کند، منجر به نمایش همان تبلیغ می شود.
- این UIView است که حاوی آن خلاقیت تبلیغاتی است.
- با استفاده از روش
populateAdView
درGANSearchAdController
این نمای را با یک تبلیغ پر کنید.
- این شی را به سازنده
GANSearchAdController
ارسال کنید تا رفتار نحوه درخواست و نمایش تبلیغات را مشخص کنید.
- متد
loadAds
در نمونهGANSearchAdController
با این شیء فراخوانی کنید تا یک درخواست تبلیغ ایجاد کنید.
- این رابط را پیاده سازی کنید و آن را در اختیار
GANSearchAdController
قرار دهید تا تماس های چند حالته را ثبت کند.
اجرای نمونه
مثال زیر ایجاد یک GANSearchAdController
و یک GANView
برای نمایش یک تبلیغ در یک 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"];
}
}
...