3

我从这里的链接中集成了 iAd / Admob 显示代码:http: //www.apptite.be/tutorial_mixing_ads.php 并得到了一些奇怪的结果。在 admob 上,我的点击率下降了 40%,但展示次数保持不变。就好像两个广告同时显示,iAds 在 admob 广告之上。有没有人看到可能导致该网站上的代码问题?

预先感谢您的帮助。

4

2 回答 2

0

嗯,所以我正在查看代码:

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

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

在 Apple 的网站上,它说“即使向您的委托发送错误后,横幅视图仍会继续尝试下载新广告。因此,实现这两种委托方法允许您的应用程序仅在加载广告时显示横幅。” (链接

我猜测正在发生的事情是,如果 iAd 失败,您正在展示 AdMob 广告,但随后 iAd 也在重试,因此如果再次失败,它会请求另一个 AdMob 广告,尽管事实上可能已经被展示?

于 2012-05-08T18:20:57.610 回答
0

首先我们应该从谷歌下载 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
于 2012-09-04T13:57:27.120 回答