iOS에서 Google 모바일 광고 SDK를 사용하고 일부 광고를 표시하려고합니다. 내 코드 : 바로 당신이 위의 내용 참조 코드 뒤에 뷰 계층에 bannerView
를 추가하는 경우보기가보기 계층에 없으면 GADBannerView 대리자 메소드가 호출되지 않습니다.
GADBannerView* bannerView = [[GADBannerView alloc] initWithAdSize:GADAdSizeFromCGSize(CGSizeMake(300, 250))];
bannerView.adUnitID = @"hidden";
bannerView.rootViewController = self;
bannerView.delegate = self;
GADRequest* request = [GADRequest request];
request.testDevices = @[ kGADSimulatorID ];
[bannerView loadRequest:request];
이 잘 작동합니다. 그러나 광고가로드 될 때까지 추가하고 싶지 않으므로 지연시키고 싶습니다. bannerView
이 뷰 계층 구조에 없다면 위임 메서드가 전혀 호출되지 않는다는 것을 알았습니다. 또한, 나는 관찰하고있는 것과 일치하는 this answer을 발견했습니다.
/// Tells the delegate that an ad request successfully received an ad. The delegate may want to add
/// the banner view to the view hierarchy if it hasn't been added yet.
- (void)adViewDidReceiveAd:(GADBannerView *)bannerView;
이는보기 내가 원하는 정확히 어떤 계층 구조에없는 경우에도 그 대리인 콜백을받을 수 있어야한다 제안 : 다른 한편으로, 이는 GADBannerViewDelegate 헤더에서 인용이다. 그래서, 어떤 생각을 어떻게 할 수 있습니까?
'ViewController'에'GADBannerViewDelegate'를 추가 했습니까? 예를 들어,'@interface ViewController(). –
@ 대니얼 예, 프로토콜을 구현하기 위해 뷰 컨트롤러를 선언했지만 아무런 경고 메시지가 표시되지 않습니다. – lawicko