2012-05-08 5 views
3

は、私はここからのリンクからのiAd/AdMob広告表示コード統合:http://www.apptite.be/tutorial_mixing_ads.php をし、いくつかの奇妙な結果が得られました。 admobでは、クリックスルー率は40%低下しましたが、インプレッション数は同じままでした。あたかも両方の広告が同時に表示されているかのように、iAdがadmob広告の上に表示されます。誰かがそのサイト上のコードに問題が発生している可能性がありますか?のiAd&AdMobの統合

ご協力いただきありがとうございます。

+1

メディエーションソリューションを使用して独自の自家製ソリューションを使用する代わりに、複数の広告ネットワークを実装します。 AdMobの最新のSDKには、[広告ネットワークメディエーション](https://developers.google.com/mobile-ads-sdk/docs/ios/mediation/)を含み、そしてのiAdは、サポートされている広告ネットワークの一つです。 –

答えて

0

まず、我々はGoogleからのAdMobのSDKをダウンロードしてください。ファイルは、Googleの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]; 

そしてAppleのサイトでは、それが「エラーがデリゲートに送信された後も、バナービューをしようとし続けていることを述べています新しい広告をダウンロードしてください。したがって、これらのデリゲートメソッドの両方を実装すると広告がロードされている場合にのみ、アプリケーションがバナーを表示することができます。」 (link

私は、iAdが失敗した場合、AdMob広告を表示していますが、iAdも再試行しているため、もう一度失敗してももう一度失敗すると、別のAdMob広告をリクエストしていると推測しています既に1つが表示されているかもしれないという事実にもかかわらず?

関連する問題