Google Mobile Ads SDK также поддерживает пользовательские стили поиска. Если в вашем приложении уже используется Google Mobile Ads SDK, мы рекомендуем вместо этого использовать версию AFSMA SDK .
Предварительные условия
- Используйте Xcode 8.0 или выше.
- Целевая iOS 8.0 или более поздняя версия
- Действительный код веб-ресурса издателя (например, vert-ppa-test1-srp).
- Какао-стручки
Импортируйте собственный SDK AFS.
Какао-стручки
Импортируйте Google-AFSNative SDK в проект iOS с помощью CocoaPods . Откройте подфайл вашего проекта и добавьте эту строку в цель вашего приложения:
pod 'Google-AFSNative'
Затем из командной строки выполните:
pod install --repo-update
Если вы новичок в CocoaPods, ознакомьтесь с их официальной документацией , чтобы узнать, как создавать и использовать подфайлы.
Обзор
Если вы обновляете версию 4.0 или более позднюю с версии 2.0.8 или более ранней, ознакомьтесь с нашим руководством по миграции .
В этом документе описан процесс интеграции нативной рекламы AFS в ваше мобильное приложение iOS.
- Конструктору
GANSearchAdController
необходимо предоставить код веб-ресурса издателя, идентификатор желаемых настроек и связанный объектGANSearchAdControllerOptions
. - Каждый вызов метода
loadAds()
указывает на новый поиск и приводит к тому, что текущий набор объявлений будет отброшен и признан недействительным. - Рекламные креативы хранятся в
GANAdView
. - Объявления вставляются в рекламный
GANAdView
с помощью методаpopulateAdView
. В дополнение к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"];
}
}
...