2012-05-08 3 views
3

http://www.apptite.be/tutorial_mixing_ads.php 의 링크에서 iAd/Admob 디스플레이 코드를 통합했으며 이상한 결과가있었습니다. admob에서 클릭률은 40 % 하락했지만 노출 수는 동일하게 유지되었습니다. 마치 두 광고가 동시에 표시되는 것처럼 AdAd 광고 상단에 iAd가 표시됩니다. 누군가 그 사이트의 코드에 문제를 일으킬 가능성이 있습니까?iAd 및 Admob 통합

도움을 주셔서 감사합니다.

+1

중재 솔루션을 사용하여 자신의 가정용 양조 솔루션을 사용하는 대신 여러 광고 네트워크를 구현하십시오. AdMob의 최신 SDK에는 [광고 네트워크 조정] (https://developers.google.com/mobile-ads-sdk/docs/ios/mediation/)이 있으며 iAd는 지원되는 광고 네트워크 중 하나입니다. –

답변

0

먼저 Google에서 Admob Sdk를 다운로드해야합니다. 그 파일은 구글의 AdMob API에서 필요합니다 -

GADAdSize.h
GADBannerView.h
GADBannerViewDelegate.h
GADInterstitial.h
GADInterstitial.h
GADRequest.h
GADRequestError.h
libGoogleAdMobAds

#import <UIKit/UIKit.h> 
#import "GADBannerViewDelegate.h" 

@class GADBannerView, GADRequest; 

@interface BannerExampleViewController : UIViewController 
    <GADBannerViewDelegate> { 
    GADBannerView *adBanner_; 
} 

@property (nonatomic, retain) GADBannerView *adBanner; 

- (GADRequest *)createRequest; 

@end 


#import "BannerViewController.h" 
#import "GADBannerView.h" 
#import "GADRequest.h" 

@implementation BannerExampleViewController 

@synthesize adBanner = adBanner_; 

#pragma mark init/dealloc 

// Implement viewDidLoad to do additional setup after loading the view, 
// typically from a nib. 
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    CGPoint origin = CGPointMake(0.0, 
           self.view.frame.size.height - 
           CGSizeFromGADAdSize(kGADAdSizeBanner).height); 
    self.adBanner = [[[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner 
                origin:origin] 
        autorelease]; 

    self.adBanner.adUnitID = AdMob key; 
    self.adBanner.delegate = self; 
    [self.adBanner setRootViewController:self]; 
    [self.view addSubview:self.adBanner]; 
    [self.adBanner loadRequest:[self createRequest]]; 
} 

- (void)dealloc { 
    adBanner_.delegate = nil; 
    [adBanner_ release]; 
    [super dealloc]; 
} 

#pragma mark GADRequest generation 

- (GADRequest *)createRequest { 
    GADRequest *request = [GADRequest request]; 
    request.testing = YES; 
    return request; 
} 

#pragma mark GADBannerViewDelegate impl 

- (void)adViewDidReceiveAd:(GADBannerView *)adView { 
    NSLog(@"Received ad successfully"); 
} 

- (void)adView:(GADBannerView *)view 
    didFailToReceiveAdWithError:(GADRequestError *)error { 
    NSLog(@"Failed to receive ad with error: %@", [error localizedFailureReason]); 
} 

@end 
0

흠, 내가 말하는 코드를 찾고 있어요 :

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error 
{ 
    NSLog(@"iAdBanner failed"); 

    // Only request adMob when iAd did fail 
    [self adMobRequest]; 

그리고 애플의 사이트를, 그것은 "오류가 대리자로 전송 후에도, 배너보기하려고 계속 말한다 따라서 이러한 위임 메서드를 모두 구현하면 응용 프로그램이 광고가로드 될 때만 배너를 표시 할 수 있습니다. " (link)

iAd가 실패하면 AdMob 광고를 표시하지만 iAd도 다시 시도하므로 다시 실패하면 다시 다른 AdMob 광고를 요청하는 것입니다 사람이 이미 보여주고 있다는 사실에도 불구하고?