我从这里的链接中集成了 iAd / Admob 显示代码:http: //www.apptite.be/tutorial_mixing_ads.php 并得到了一些奇怪的结果。在 admob 上,我的点击率下降了 40%,但展示次数保持不变。就好像两个广告同时显示,iAds 在 admob 广告之上。有没有人看到可能导致该网站上的代码问题?
预先感谢您的帮助。
我从这里的链接中集成了 iAd / Admob 显示代码:http: //www.apptite.be/tutorial_mixing_ads.php 并得到了一些奇怪的结果。在 admob 上,我的点击率下降了 40%,但展示次数保持不变。就好像两个广告同时显示,iAds 在 admob 广告之上。有没有人看到可能导致该网站上的代码问题?
预先感谢您的帮助。
嗯,所以我正在查看代码:
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
NSLog(@"iAdBanner failed");
// Only request adMob when iAd did fail
[self adMobRequest];
在 Apple 的网站上,它说“即使向您的委托发送错误后,横幅视图仍会继续尝试下载新广告。因此,实现这两种委托方法允许您的应用程序仅在加载广告时显示横幅。” (链接)
我猜测正在发生的事情是,如果 iAd 失败,您正在展示 AdMob 广告,但随后 iAd 也在重试,因此如果再次失败,它会请求另一个 AdMob 广告,尽管事实上可能已经被展示?
首先我们应该从谷歌下载 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