Google 모바일 광고 SDK는 검색 광고 맞춤 스타일도 지원합니다. 앱이 에서 이미 Google 모바일 광고 SDK를 사용 중인 경우 AFSMA SDK 버전 하세요.
기본 요건
- Xcode 8.0 이상 사용
- iOS 8.0 이상 타겟팅
- 유효한 게시자 웹 서비스 코드 (예: vert-ppa-test1-srp)
- CocoaPods
AFS 네이티브 SDK 가져오기
CocoaPods
다음을 사용하여 Google-AFSNative SDK를 iOS 프로젝트로 가져오기 CocoaPods 프로젝트의 Podfile에서 파일을 가져오고 다음 행을 앱의 타겟에 추가합니다.
pod 'Google-AFSNative'
그런 다음 명령줄에서 다음을 실행합니다.
pod install --repo-update
CocoaPods를 처음 사용하는 경우 자세한 내용은 공식 문서를 참고하세요. 가이드를 마치겠습니다
개요
2.0.8 이하에서 버전 4.0 이상으로 업그레이드하는 경우 이전 가이드를 참고하세요.
이 문서에는 AFS 네이티브 광고를 통합하는 절차가 나와 있습니다. iOS 모바일 앱에서 제공됩니다.
GANSearchAdController
생성자는 게시자의 웹 속성 코드, 원하는 설정 ID 및 연결된GANSearchAdControllerOptions
객체.loadAds()
를 호출할 때마다 새로운 검색을 나타내며, 현재 무효화됩니다.- 광고 소재는
GANAdView
에 저장됩니다. populateAdView
메서드를 사용하여 광고가GANAdView
광고에 삽입됩니다. 포함 호출자는 채워질GANAdView
외에도adIdentifier
: 광고를 고유하게 식별하는 임의의 문자열입니다. API 내에서 전달되는 각 adIdentifier에 특정 광고가 할당됩니다. 인치 그런 다음 나중에 해당 adKey가 다시 전달될 때마다 같은 광고가 반환합니다. 예를 들어populateAdView
가 adIdentifier 'keyA', 이후의 각populateAdView
호출은 'keyA'adIdentifier
로 동일한 광고가 게재되기 때문입니다.
- 광고 소재가 포함된 UIView입니다.
- 다음에서
populateAdView
메서드를 사용하여 이 보기를 광고로 채웁니다.GANSearchAdController
입니다.
- 이 객체를
GANSearchAdController
생성자에 전달하여 광고가 요청되고 표시되는 방식의 동작을 볼 수 있습니다.
- 다음을 사용하여
GANSearchAdController
인스턴스에서loadAds
메서드를 호출합니다. 개체를 사용하여 광고 요청을 만듭니다.
- 이 인터페이스를 구현하여
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"];
}
}
...